Linux下如何快速消耗CPU、内存、IO、磁盘等(压测)
Tags: fallocateLinuxOSstresssysbench压测总结
CPU
可以参考:https://www.xmmup.com/dbbao66linuxxiaruherangnidecpubaochizai90yishang.html#xiang_guan_wen_zhang
1 2 3 4 5 6 7 8 9 | -- cpu for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do cat /dev/urandom | md5sum & done for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done sysbench --threads=100 --events=80000 cpu --cpu-max-prime=8000000 run stress --cpu 8 --timeout 600 |
内存
1 2 3 4 5 6 | -- 内存(消耗90%内存) stress --vm-bytes $(awk '/MemFree/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1 -- 慎用(这将启动10个并发的stress进程,从而消耗更多的内存) for i in {1..10}; do stress --vm-bytes $(awk '/MemFree/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1 & done |
磁盘IO
1 2 3 4 5 6 7 | fio -filename=/tmp/read_write.dat -direct=1 -iodepth=1 -rw=randrw -rwmixread=70 \ -ioengine=psync -bs=32k -size=6G -numjobs=12 -runtime=180 -group_reporting -name=randrw_70read_32k dd if=/dev/zero of=/tmp/a.dat bs=8k count=1M oflag=direct stress-ng -i 4 --hdd 1 --timeout 600 |
磁盘大文件
1 2 3 4 5 6 7 8 9 10 11 12 | -- 大文件 fallocate -l 50G 50g_file dd if=/dev/zero of=rumenz.img bs=2G count=1 truncate -s 2G rumenz.img -- 制造51200个1M文件 seq 51200 | xargs -i dd if=/dev/zero of=1m_file{} bs=1M count=1 -- Windows cmd生成4g大文件 fsutil file createnew d:\LOVE.txt 4000000000 |
dd 和 truncate 创建的文件是稀疏文件。在计算机世界中,稀疏文件是一种特殊文件,具有不同的表观文件大小(它们可以扩展到的最大大小)和真实文件大小(为磁盘上的数据分配了多少空间)。
fallocate 命令则不会创建稀疏文件,而且它的速度更快,这也是我比较推荐使用 fallocate 创建大文件的原因。
参考:https://www.xmmup.com/zai-linux-zhongkuaisuchuangjiandawenjiandejizhongfangshi.html