系统管理员通常需要探索在不同负载对应用性能的影响。这意味着必须要重复地人为创造负载。当然,你可以通过专门的工具来实现,但有时你可能不想也无法安装新工具。每个Linux发行版中都自带有创建负载的工具。他们不如专门的工具那么灵活,但它们是现成的,而且无需专门学习。
CPU
下面命令会创建CPU负荷,方法是通过压缩随机数据并将结果发送到/dev/null:
cat/dev/urandom|gzip-9>/dev/null
如果你想要更大的负荷,或者系统有多个核,那么只需要对数据进行压缩和解压就行了,像这样:
cat/dev/urandom|gzip-9|gzip-d|gzip-9|gzip-d>/dev/null
按下CTRL+C来终止进程。
内存占用
下面命令会减少可用内存的总量。它是通过在内存中创建文件系统然后往里面写文件来实现的。你可以使用任意多的内存,只需哟往里面写入更多的文件就行了。
首先,创建一个挂载点,然后将ramfs文件系统挂载上去:
mkdirzmount-tramfsramfsz/
第二步,使用dd在该目录下创建文件。这里我们创建了一个128M的文件:
ddif=/dev/zeroof=z/filebs=1Mcount=128
文件的大小可以通过下面这些操作符来修改:
bs=块大小。可以是任何数字后面接上B(表示字节),K(表示KB),M(表示MB)或者G(表示GB)。
count=要写多少个块。
磁盘I/O
创建磁盘I/O的方法是先创建一个文件,然后使用for循环来不停地拷贝它。
下面使用命令dd创建了一个全是零的1G大小的文件:
ddif=/dev/zeroof=loadfilebs=1Mcount=1024
下面命令用for循环执行10次操作。每次都会拷贝loadfile来覆盖loadfile1:
foriin{1..10};docploadfileloadfile1;done
通过修改{1..10}中的第二个参数来调整运行时间的长短。(LCTT译注:你的Linux系统中的默认使用的cp命令很可能是cp-i的别名,这种情况下覆写会提示你输入y来确认,你可以使用-f参数的cp命令来覆盖此行为,或者直接用/bin/cp命令。)
若你想要一直运行,直到按下CTRL+C来停止,则运行下面命令:
whiletrue;docploadfileloadfile1;done
最后想要了解更多关于Linux发展前景趋势,请关注扣丁学堂Linux培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的Linux培训视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的Linux视频教程课程,让你快速掌握Linux从入门到精通开发实战技能。扣丁学堂Linux技术交流群:659974587。