linux模拟cpu过载,linux下模拟CPU占用100%小程序

linux下模拟CPU占用100%小程序

来源:https://blog.youkuaiyun.com/lin434406218/article/details/54694900

一、单个核100%

代码kill_cpu.c

#include

int main()

{

while(1);

return 0; }

20e86cde14c273671ecba526dcdda3c7.png

运行之前的CPU

4717dd0ea8c7ff82c1d70938eb4906d9.png

运行:

# gcc -o out kill_cpu.c

# ./out

1851fc046f823545c27999df1905f50e.png

结束:Ctrl + C

04f990fbf9265636171488dce346a907.png

在运行程序之前先在本地测试自己的程序,避免程序的逻辑错误或者死循环的错误。

数据库服务器执行某一个SQL或者存储过程需要大量的运算(一般为软件设计不合理)

二、让所有的核都是100%

$ for i in `seq 1 $(cat /proc/cpuinfo | grep "physical id" | wc -l)`; do ./out & done

fb3230fbaa26340ee0b639f7c46cb559.png

所有的核都是100%,cat /proc/cpuinfo | grep “physical id” | wc -l 是获取到CPU的核数,逻辑核数。这样每一个cpu上都会调度到一个死循环的进程。

批量kill进程

46f57f43c603fcdc1d8cca6f9b501dc2.png

ps aux

显示其他用户启动的进程(a)

查看系统中属于自己的进程(x)

启动这个进程的用户和它启动的时间(u)

把大的作业分给多个CPU一起运行,避免单个CPU运行导致CPU消耗过高而引发的系统奔溃问题

三、让某个核100%

当前的进程在cpu2上

4c1997891928b0ee5ad5189377d4897d.png

通过taskset命令绑定CPU(taskset 指定进程运行在某个特定的CPU上)

taskset -cp CPUID 进程ID

4459b6468f6c13c92a7abea939ec248d.png

把某一个任务直接指定一个CPU专门运行,保证该任务快速运行,不会长期拉低整个系统的运作效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值