一 cpu打满

shell脚本一行就能实现:

while : ; do : ; done & # 
# 下面会显示进程号

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import threading, multiprocessing
 
def loop():
    x = 0
    while True:
        x = x ^ 1
 
for i in range(multiprocessing.cpu_count()):
    t = threading.Thread(target=loop)
 
t.start()

原文链接:Python多进程和多线程(跑满CPU)_fengkuangshine的博客-CSDN博客_python进程数超过cpu核数

二  扩展 如何将cpu、内存、io打满

原文:如何将cpu、内存、io打满 (wjhsh.net)

1、cpu打满:

这个脚本是什么意思呢?这里简单讲解一下。首先是先建一个/tmp/infiniteburn.sh脚本,这个脚本中的内容即为:

#!/bin/bash
while true;
    do openssl speed;
done

这个脚本就是用来打满CPU的。这里的openssl speed是用来测试加密算法性能的,这是一种CPU密集型的计算。运行一个脚本只会打满一个CPU,所以这里还有下面的

for i in {1..32} 

这个操作,用来执行32次 /tmp/infiniteburn.sh 脚本。这里假设的前提是当前机器的内核个数不会超过32,如果超过了,那么修改一下 32 这个数值即可。

2、io打满:

这个脚本和上面的第一个脚本相同,首先是先建一个/tmp/loopburnio.sh的过度脚本,这个脚本中的内容是:

while true;
do
    dd if=/dev/urandom of=/burn bs=1M count=1024 iflag=fullblock
done

这里用到了linux的dd命令,它用于读取、转换并输出数据。dd可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

dd if=/dev/urandom of=/burn bs=1M count=1024 iflag=fullblock 

这条命令的意思是采用dd工具模拟读写。if指定输入的文件名,of指定输出的文件名,bs同时设置读写块的大小为1M,count是指仅拷贝1024个块,块大小等于bs指定的字节数。iflag=fullblock表示堆积满block。

运行这个脚本,然后使用iostat命令查看IO的使用情况:

如何模拟将CPU、IO打满?_小山沟里的程序猿的博客-CSDN博客

3、内存打满:

原文地址:https://www.cnblogs.com/guoyu1/p/13563184.html

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐