今天突发奇想,想看看Linux的CPU跑满的样子
其实一行命令就可以使CPU跑满
for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done
- 这里说明一下
cat /proc/cpuinfo |grep "physical id" | wc -l
可以获得CPU的个数可以把他表示为N-seq 1 N
用来生成1到N之间的数字for i in seq 1 N
; 就是循环执行命令,从1到Ndd if=/dev/zero of=/dev/null
执行dd命令, 输出到/dev/null, 实际上这里所只是占用了CPU, 并没有的IO操作.
因为连续执行N个(N是CPU个数)的dd 命令, 且使用率为百分百, 这时调度器会调度每个dd命令在不同的CPU上处理.
最终就实现所有CPU跑满
如果想结束的话
-
fg 后按 ctrl + C (因为该命令是放在后台执行)
-
pkill -9 dd
- 测试
top这个命令很常用,在第三行有显示CPU当前的使用情况。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
29300 ubuntu 20 0 6860 920 860 R 95.7 0.1 3:14.23 dd
961 root 20 0 22276 6176 3264 S 0.3 0.6 3:09.44 tat_agent
4209 ubuntu 20 0 2259256 115468 4892 S 0.3 11.4 2:45.77 java
4746 root 20 0 967376 29396 10896 S 0.3 2.9 8:37.48 YDService
4763 root 20 0 649280 14036 10428 S 0.3 1.4 4:29.99 YDEdr
13890 mysql 20 0 1166676 172084 3876 S 0.3 17.1 0:48.74 mysqld
20540 ubuntu 20 0 108352 6288 4928 S 0.3 0.6 0:03.65 sshd
31548 ubuntu 20 0 41100 3796 3232 R 0.3 0.4 0:00.03 top
1 root 20 0 225564 7220 4644 S 0.0 0.7 0:07.87 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.16 kthreadd
如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/181106.html