Ubuntu环境下利用Stress对CPU进行满载及半载压力测试

本文介绍了如何在Ubuntu环境下,特别是树莓派4B上,使用stress工具进行CPU满载和半载测试,并通过编写脚本来实现CPU核心的交替满载。同时,文章还讲解了htop工具的使用,用于实时查看CPU状态。在满载测试中,通过stress--cpu4命令使4核CPU全负载,而半载测试则通过脚本控制两个核心交替工作。此外,htop工具提供了一个方便的界面来监控系统资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.概述

	下文主要介绍在Ubuntu环境下,stress工具以及htop工具在CPU压力测试中的应用,以树莓派4B作为实操示例。

2.strss工具的使用

2.1 CPU满载

(1)安装stress工具时,只需要打开终端,输入如下命令:

sudo apt-get install stress

(2)使用stress工具时,本次使用的开发板时树莓派4B,为了使其达到满载状态,首先需要知道自己开发板的CPU有多少个核心,在网上查到相关的处理器参数如下图:
在这里插入图片描述
从上图的信息来看,树莓派4B处理的核心数是4,当然也能通过命令自行查看CPU的核心数,我们仅需用如下命令:

cd /sys/devices/system/cpu

此时我们就进入到了CPU所在的目录,使用ls命令后,可以在该目录下看到该处理器拥有的CPU核心,如下图:
在这里插入图片描述
这里也就确认我们该处理器,确实拥有4个CPU核心,此时我们为了4个CPU核心都处于满载状态,只需要使用如下命令:

stress --cpu 4

运行该命令后,四个CPU将进入满载状态。
在这里插入图片描述

2.2 CPU半载

CPU半载测试,我依旧使用的Stress工具,因为上面提到树莓派4B有四个核心,我的思路是让4个核心两两交替处于满载状态,这里就需要准备一个脚本,交替的使能和禁用其中两个核心,具体实现如下:
(1)新建一个文件

touch test

(2)编辑新建的文件

nano test

(3)将下面的内容添加到test中

#!/bin/bash
			while [ 1 ]
			do
				echo 1 > /sys/devices/system/cpu/cpu0/online
				echo 1 > /sys/devices/system/cpu/cpu1/online
				echo 0 > /sys/devices/system/cpu/cpu2/online
				echo 0 > /sys/devices/system/cpu/cpu3/online
				sleep 2
				
				echo 1 > /sys/devices/system/cpu/cpu2/online
				echo 1 > /sys/devices/system/cpu/cpu3/online
				echo 0 > /sys/devices/system/cpu/cpu0/online
				echo 0 > /sys/devices/system/cpu/cpu1/online
				sleep 2
			done

*通过给每个核心下的online位写0和写1,实现对CPU对应核心的使能和禁用

(4)给文件添加运行权限

chmod +x test

(5)运行脚本

./test

(6)使用stress命令

stress --cpu 2

完成上诉的操作后,CPU将处于两两满载交替运行的状态。

3.htop工具的使用

(1)安装stress工具时,只需要打开终端,输入如下命令:

sudo apt-get install htop

(2)安装完成后,直接运行htop,就能看到当前CPU的一些状态信息:

htop

如下图:
在这里插入图片描述

4.总结

stress的用法还有很多,例如用timeout参数设置所需要运行的时间等等,本文只是演示stress工具的简单用法。除此之外,在使用Jetson Nano和NX开发板时,还可以下载jetson-stats工具包,利用其中的jtop工具监控CPU的各项指标参数。

  • 其他常用jtop参数:
    –m N:开启N个进程占用内存,每个进程默认256M,可以通过–vm-bytes设置实际的大小。
<think>嗯,用户想了解如何在Ubuntu板卡上用stress-ng做CPU压力测试。首先,我得确认用户可能的需求是什么。可能是开发者在测试硬件稳定性,或者系统管理员想评估设备在高负载下的表现。stress-ng是个常用的工具,但用户可能对它的安装和使用不太熟悉。 首先,安装步骤是必须的。Ubuntu通常用apt,所以需要告诉用户怎么安装,可能还需要更新软件源。然后,基本命令怎么用,比如指定CPU负载的workers数量,运行时间等。这里要注意不同参数的解释,比如--cpu后面跟的是worker数,而不是核数,但实际可能会根据系统自动调整。 接下来,用户可能需要更复杂的测试,比如调整负载类型,比如矩阵运算或FFT,这时候需要列举不同的stress-ng选项。还有温度监控部分,用户可能想知道如何实时查看CPU温度,需要推荐像sensors这样的工具,同时提醒安装lm-sensors。 高级选项方面,用户可能需要完全占用所有CPU核心,或者自定义负载比例,比如50%的使用率。这里需要给出具体命令示例。内存测试虽然用户问的是CPU,但可能也有相关需求,可以简单提一下。 注意事项部分很重要,特别是数据丢失和系统不稳定的风险,需要强调谨慎操作。测试后的验证步骤,比如性能监控工具top、htop,以及日志检查,帮助用户确认测试结果。 最后,退出测试和清理资源,可能用户不知道如何终止进程,得说明清楚。整个过程中,要确保命令的正确性,避免用户误操作。同时,保持回答结构清晰,分步骤讲解,让用户容易跟随。可能用户是新手,所以每个步骤都要简明,避免使用过于专业的术语,必要时解释参数含义。</think>好的,我将分步骤为您介绍如何在Ubuntu系统上使用stress-ng进行CPU压力测试: 一、安装stress-ng ```bash sudo apt update && sudo apt install stress-ng ``` 二、基本CPU测试命令 1. 启动4个worker线程进行浮点运算(默认模式) ```bash stress-ng --cpu 4 --timeout 60s ``` 参数说明: - `--cpu N`:创建N个CPU压力进程 - `--timeout T`:设置测试持续时间(单位:s=秒, m=分钟, h=小时) 2. 查看CPU占用情况(新开终端) ```bash top # 或使用 htop(需安装) ``` 三、进阶测试模式 1. 矩阵运算负载 ```bash stress-ng --matrix 4 --timeout 2m ``` 2. FFT运算测试 ```bash stress-ng --fft 2 --timeout 120s ``` 3. 混合压力测试CPU+内存) ```bash stress-ng --cpu 4 --vm 2 --vm-bytes 1G --timeout 5m ``` 四、温度监控建议 ```bash watch -n 1 "sensors | grep Core" # 需要安装lm-sensors ``` 五、高级选项 1. 完全占用所有CPU核心 ```bash stress-ng --cpu $(nproc) --cpu-method all ``` 2. 自定义负载比例(示例:50% CPU使用率) ```bash stress-ng --cpu 4 --cpu-load 50 ``` 六、注意事项 1. 测试前保存工作数据 2. 监控系统温度(避免过热) 3. 建议初次测试不超过5分钟 4. 使用`--verify`参数验证计算正确性 ```bash stress-ng --cpu 4 --verify -t 1m ``` 七、测试后验证 1. 使用系统日志检查错误 ```bash dmesg | grep -i error ``` 2. 查看CPU频率稳定性 ```bash watch -n 1 "cat /proc/cpuinfo | grep MHz" ``` 八、退出测试 ```bash # 直接按 Ctrl+C 终止正在运行的stress-ng进程 ``` 补充说明: 1. 压力类型可通过`--cpu-method`指定,支持: - `float`(浮点运算,默认) - `int`(整数运算) - `matrix`(矩阵运算) - `fft`(快速傅里叶变换) 2. 推荐测试时长: - 稳定性测试:6-24小时 - 快速验证:10-30分钟 建议首次使用时从短时间测试开始,逐步增加负载,密切监控系统温度(建议保持<85℃)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值