注意:模拟性能脚本不能满负荷运行,否则会导致系统宕机。
#sh cpumem.sh CPU核数 内存容量
CPU核数:占用CPU的数量,被占用的cpu利用率100%,CPU核数不能全部占用。
内存容量:可用内存容量,单位M。可用内存容量被占满,会导致服务器宕机。
(1)CPU核数查询
- #服务器可用CPU核数最大可用为2核
- [root@mail ~]# lscpu | grep CPU\(s\):
- CPU(s): 2
(2)内存容量查询
- #服务器可用内存是3751M
- [root@mail ~]# free -m
- total used free shared buff/cache available
- Mem: 3751 243 2225 1026 1282 2171
- Swap: 3967 142 3825
注:性能模拟测试,资源使用率尽量不要超过70%,使用率过高会致使服务器宕机。
- [root@mail ~]# cat cpumem.sh
- #!/bin/bash
- #####CPU性能模拟#####
- rm -rf /root/file.txt
- endless_loop()
- {
- echo -ne "i=0;
- while true ;do
- i=i+100;
- i=100;done" | /usr/bin/bash &
- }
-
- for i in `seq $1`
- do
- endless_loop
- pid_array[$i]=$!;
- done
-
- echo "#!/bin/bash" >/tmp/rm_cpumem.sh
-
- for i in "${pid_array[@]}"; do
- echo 'execute: kill' $i ;
- echo 'kill' $i >> /tmp/rm_cpumem.sh
- done
-
- #####内存性能模拟#####
- mkdir /tmp/memory
- mount -t tmpfs -o size=$2M tmpfs /tmp/memory
- dd if=/dev/zero of=/tmp/memory/block
-
- #####结束进程,请运行"sh /tmp/rm_cpumem.sh"#####
- echo 'End the pressure, please run "sh /tmp/rm_cpumem.sh"'
- echo "rm -rf /tmp/memory/block" >>/tmp/rm_cpumem.sh
- echo "umount /tmp/memory" >>/tmp/rm_cpumem.sh
- echo "rmdir /tmp/memory" >>/tmp/rm_cpumem.sh
模拟一颗CPU满负荷,内存2G的性能模拟测试
- [root@mail ~]# sh cpumem.sh 1 2048
- execute: kill 71318
- dd: 正在写入"/tmp/memory/block": 设备上没有空间
- 记录了4194305+0 的读入
- 记录了4194304+0 的写出
- 2147483648字节(2.1 GB)已复制,4.55903 秒,471 MB/秒
- End the pressure, please run "sh /tmp/rm_cpumem.sh"
- [root@mail ~]#
(1)脚本结束进程,仅需运行"sh /tmp/rm_cpumem.sh"即可。
[root@mail ~]# sh /tmp/rm_cpumem.sh
(2)手动结束进程
- #结束CPU进程,进程ID请查看rm_cpumem.sh
- kill 进程ID
- #结束内存进程
- rm -rf /tmp/memory/block
- umount /tmp/memory
- rmdir /tmp/memory
模拟生成一个1G文件放到/tmp下
- [root@mail ~]# dd if=/dev/zero of=/tmp/file.txt bs=1M count=1024
- 记录了1024+0 的读入
- 记录了1024+0 的写出
- 1073741824字节(1.1 GB)已复制,2.28627 秒,470 MB/秒
of:指定生成文件位置。请根据实际需要指定文件存放位置
count:指定文件的大小,1024是1G。
注:请根据实际需要指定文件大小和文件路径,不要把磁盘空间全部占满,磁盘爆满会影响业务运行。
其他命令:
- [root@mail ~]# df -h //查下磁盘利用率
- 文件系统 容量 已用 可用 已用% 挂载点
- /dev/mapper/centos-root 50G 7.7G 43G 16% /
- devtmpfs 1.9G 0 1.9G 0% /dev
- tmpfs 1.9G 0 1.9G 0% /dev/shm
- tmpfs 1.9G 11M 1.9G 1% /run
- tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
- /dev/vda1 1014M 209M 806M 21% /boot
- /dev/mapper/centos-home 46G 37M 46G 1% /home
- /dev/mapper/data_vg-data_lv 20G 45M 19G 1% /opt/data
- tmpfs 376M 0 376M 0% /run/user/0
- tmpfs 1.0G 1.0G 0 100% /tmp/memory
- [root@mail ~]# du -h /tmp/file.txt //查看单文件大小
- 1.0G /tmp/file.txt
- [root@mail ~]#