作为系统管理员 ,你可能需要检查和监控你的Linux系统的状态,当他们在高负荷的压力。 这对于系统管理员和程序员来说是一个很好的方法:
- 微调系统上的活动。
- 监视操作系统内核接口。
- 测试你的Linux硬件部件 ,如CPU,内存,磁盘设备和许多其他观察在压力下的表现。
- 测量系统上不同的功耗负载。
Linux CPU负载应力测试与应力工具
在本指南中,我们将看一下两个重要的工具, 紧张和压力纳克在你的Linux系统压力测试。
1. 压力 -是一个工作负载生成工具,旨在系统遭受CPU,内存,I / O和磁盘压力的配置措施。
2. 压力纳克 -是应力工作负载生成工具,测试你的系统以下功能的更新版本:
- CPU计算
- 驱动应力
- I / O同步
- 管I / O
- 缓存抖动
- VM应力
- socket应力
- 过程创建和终止
- 上下文切换属性
虽然这些工具有助于检查您的系统,但它们不应该只由任何系统用户使用。
重要说明 :强烈建议您使用这些工具以root用户权限,因为他们可以强调你的Linux机器这么快,以避免某些系统错误在设计不良的硬件。
如何在Linux中安装“压力”工具
要安装在Debian和它的衍生物,Ubuntu和薄荷压力的工具,运行以下命令。
$ sudo apt-get install stress
要在RHEL / CentOS的和Fedora Linux上安装压力,你需要打开EPEL资源库 ,然后键入以下命令Yum安装相同的:
# yum install stress
使用压力的一般语法:
$ sudo stress option argument
您可以与压力使用某些选项。
- 产卵ñ工人开方纺()函数,按如下方式使用-cpu N选项。
- 产卵ñ工人同步纺()函数,使用如下-io N选项。
- 产卵ñ工人纺的malloc()/ free()的函数,使用-vm N选项。
- 为了分配每个VM工人内存,使用-vm字节N选项。
- 相反,释放和重新分配内存资源,可以通过-vm-keep选项redirty内存。
- 通过-vm恒N选项释放内存之前设置睡眠N秒。
- 产卵ñ工人写纺()/取消链接()函数,使用-hdd N选项。
- 您可以通过使用-timeout N选项设置N秒后超时。
- 任何工作使用-backoff N选项如下开始前组N个微秒的等待因素。
- 要在运行时的应力显示更详细的信息,请使用-v选项。
- 使用-help查看帮助使用压力或查看联机帮助页。
如何在Linux系统上使用压力?
1.在每次运行它时检查命令的效果,首先运行uptime命令,记下平均负载。
接下来,运行压力命令以20秒的超时产卵8工作者纺的sqrt()。 运行压力后,再次运行uptime命令,并比较平均负载。
youcl@youcl ~ $ uptime youcl@youcl ~ $ sudo stress --cpu 8 --timeout 20 youcl@youcl ~ $ uptime
示例输出
youcl@youcl ~ $ uptime 17:20:00 up 7:51, 2 users, load average: 1.91, 2.16, 1.93 [<-- Watch Load Average] youcl@youcl ~ $ sudo stress --cpu 8 --timeout 20 stress: info: [17246] dispatching hogs: 8 cpu, 0 io, 0 vm, 0 hdd stress: info: [17246] successful run completed in 21s youcl@youcl ~ $ uptime 17:20:24 up 7:51, 2 users, load average: 5.14, 2.88, 2.17 [<-- Watch Load Average]
2.要spwan 8工作者纺的sqrt()以30秒的超时,显示有关操作的详细信息,运行以下命令:
youcl@youcl ~ $ uptime youcl@youcl ~ $ sudo stress --cpu 8 -v --timeout 30s youcl@youcl ~ $ uptime
示例输出
youcl@youcl ~ $ uptime 17:27:25 up 7:58, 2 users, load average: 1.40, 1.90, 1.98 [<-- Watch Load Average] youcl@youcl ~ $ sudo stress --cpu 8 -v --timeout 30s stress: info: [17353] dispatching hogs: 8 cpu, 0 io, 0 vm, 0 hdd stress: dbug: [17353] using backoff sleep of 24000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 8 [17354] forked stress: dbug: [17353] using backoff sleep of 21000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 7 [17355] forked stress: dbug: [17353] using backoff sleep of 18000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 6 [17356] forked stress: dbug: [17353] using backoff sleep of 15000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 5 [17357] forked stress: dbug: [17353] using backoff sleep of 12000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 4 [17358] forked stress: dbug: [17353] using backoff sleep of 9000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 3 [17359] forked stress: dbug: [17353] using backoff sleep of 6000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 2 [17360] forked stress: dbug: [17353] using backoff sleep of 3000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 1 [17361] forked stress: dbug: [17353] youcl@youcl ~ $ uptime 17:27:59 up 7:59, 2 users, load average: 5.41, 2.82, 2.28 [<-- Watch Load Average]
3.要spwan 的malloc()和free()函数的一个工人60秒超时,运行以下命令。
youcl@youcl ~ $ uptime youcl@youcl ~ $ sudo stress --vm 1 --timeout 60s youcl@youcl ~ $ uptime
示例输出
youcl@youcl ~ $ uptime 17:34:07 up 8:05, 2 users, load average: 1.54, 2.04, 2.11 [<-- Watch Load Average] youcl@youcl ~ $ sudo stress --vm 1 --timeout 60s stress: info: [17420] dispatching hogs: 0 cpu, 0 io, 1 vm, 0 hdd stress: info: [17420] successful run completed in 60s youcl@youcl ~ $ uptime 17:35:20 up 8:06, 2 users, load average: 2.45, 2.24, 2.17 [<-- Watch Load Average]
4.要spwan 4个工人在纺纱的sqrt(),2个工人spwaning上同步(),2名工人的malloc()/ free()的,具有超时20秒和分配每个VM工人256MB的内存,运行此命令。
youcl@youcl ~ $ uptime youcl@youcl ~ $ sudo stress --cpu 4 --io 3 --vm 2 --vm-bytes 256M --timeout 20s youcl@youcl ~ $ uptime
示例输出
youcl@youcl ~ $ uptime 17:40:33 up 8:12, 2 users, load average: 1.68, 1.84, 2.02 [<-- Watch Load Average] youcl@youcl ~ $ sudo stress --cpu 4 --io 3 --vm 2 --vm-bytes 256M --timeout 20s stress: info: [17501] dispatching hogs: 4 cpu, 3 io, 2 vm, 0 hdd stress: info: [17501] successful run completed in 20s youcl@youcl ~ $ uptime 17:40:58 up 8:12, 2 users, load average: 4.63, 2.54, 2.24 [<-- Watch Load Average]