这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 解析如何在Linux上简单模拟系统负载的方法

共1条 1/1 1 跳转至

解析如何在Linux上简单模拟系统负载的方法

助工
2020-11-05 10:16:38     打赏

  系统管理员通常需要探索在不同负载对应用性能的影响。这意味着必须要重复地人为创造负载。当然,你可以通过专门的工具来实现,但有时你可能不想也无法安装新工具。每个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。



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]