Linux下如何让你的CPU保持在90%以上

0    3901    10

Tags:

👉 本文共约1759个字,系统预计阅读时间或需7分钟。

如何让你的CPU保持在90%以上的使用率呢?这在某些场景下非常有用。麦老师统计了一下,有如下几种办法。

命令一:“cat /dev/urandom | md5sum”或“dd if=/dev/zero of=/dev/null”

说明:

  • cat /proc/cpuinfo |grep "physical id" | wc -l 可以获得CPU的个数, 我们将其表示为N.
  • seq 1 N 用来生成1到N之间的数字
  • for i in seq 1 N; 就是循环执行命令,从1到N
  • dd if=/dev/zero of=/dev/null 执行dd命令, 输出到/dev/null, 实际上只占用CPU, 没有IO操作.
  • 由于连续执行N个(N是CPU个数)的dd 命令, 且使用率为100%, 这时调度器会调度每个dd命令在不同的CPU上处理.
  • 最终就实现所有CPU占用率100%

另外,上述程序的结束可以使用:

注意:

  • cat /proc/cpuinfo |grep "physical id" |wc -l 这个命令的目的是获取当前CPU的个数
  • 但有的系统,cat /proc/cpuinfo打印出来的信息里没有包含"physical id",可能是其他值
  • 这就需要根据实际打印出来的信息,修改grep "physical id"中的关键字
  • 最终效果是执行这行命令,打印CPU个数

执行过程:

执行结果:

使用top命令查看:

在执行了top命令后,按下数字1键,可以看所有cpu的使用率:

可以看到,用户的使用率us%不是很高,而sys%很高,我们杀掉会话后,换一个命令:

继续使用top查看:

用户的使用率仍然没有上到90%。

所以,这个时候可以考虑对CPU进行性能压测,由于CPU主要用于计算的,所以,可以使用sysbench或stress来压测。

命令二:使用sysbench来压测

sysbench是一款开源的、模块化的、跨平台的多线程性能测试工具,可用于CPU、内存、磁盘I/O、线程、数据库的性能测试。sysbench目前支持的数据库压测有PG和MySQL。(若想学习数据库压测,可以私聊麦老师哟,MySQL和PG均有相关课程)

工具的官网说明:https://launchpad.net/sysbench

sysbench支持以下几种测试模式:

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复