1.linux平均负载

这里我说的不会很晦涩难懂,争取用很容易理解的方式展示我学习后的理解

1.首先介绍下stress命令参数,下面我们会使用到

-?        显示帮助信息
-v         显示版本号
-q         不显示运行信息
-n         显示已完成的指令情况
-t         --timeout  N  指定运行 N 秒后停止
           --backoff  N  等待 N 微秒后开始运行
-c         产生 n 个进程,每个进程都反复不停的计算随机数的平方根
-i         产生 n 个进程,每个进程反复调用 sync(), sync() 用于将内存上的内容写到硬盘上
-m         --vm n 产生 n 个进程,每个进程不断调用内存分配 malloc 和内存释放 free 函数
           --vm-bytes B 指定 malloc 时内存的字节数 (默认 256MB)
           --vm-hang N 指定在 free 栈的秒数
-d         --hadd n 产生 n 个执行 write 和 unlink 函数的进程
           --hadd-bytes B 指定写的字节数
           --hadd-noclean 不 unlink

2.初识平均负载

[root@m01 ~]# uptime
 14:38:11 up  2:10,  4 users,  load average: 0.00, 0.00, 0.00
14:38:11 up   //系统当前时间
up  2:10         //系统运行了多久
4 users          //这里我是用root用户登录,打开了四个窗口
load average: 0.00, 0.00, 0.00  //分别是系统过去1分钟,5分钟,15分钟的负载

平均负载是什么?
平均负载是单位时间内,系统处于可运行状态不可中断状态的平均进程数,即系统中单位时间内的活跃进程数

可运行状态的进程:
正在使用CPU或正在等待CPU的进程。即ps命令中,stat处于R(Running|Runnable)的进程
不可中断的进程:
例如在进行磁盘读写的进程,此时为了保证数据的完整性,会使进程的状态设置为D,即不可被中断,如果被中断了,数据是不会被完整保存的。

"R状态的演示查看"
在我的系统中,我使用yum安装了一下zlib*,并且安装了zabbix客户端,但zabbix服务端并没有启动。
根据ps -aux查看到,zabbix客户端是处于S状态,并不是一个活跃的正在工作的进程。yum命令如果你仔细观察,会发现,在install的过程,是处于R状态,但这个状态很短暂,任务完成,就处于S状态了。
[root@m01 ~]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.1  0.0  19356  1532 ?        Ss   12:27   0:01 /sbin/init
root          2  0.0  0.0      0     0 ?        S    12:27   0:00 [kthreadd]

zabbix     1203  0.0  0.0  76836  1228 ?        S    12:27   0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix     1205  0.0  0.0  76836  1328 ?        S    12:27   0:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]          
zabbix     1206  0.0  0.0  76836  1956 ?        S    12:27   0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix     1207  0.0  0.0  76836  1956 ?        S    12:27   0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix     1208  0.0  0.0  76836  1956 ?        S    12:27   0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix     1209  0.0  0.1  76840  2120 ?        S    12:27   0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]   
root       1402 21.1  4.1 387784 85264 pts/1    R+   12:45   0:08 /usr/bin/python /usr/bin/yum install -y zlib*
root       1426  0.0  0.0 110260  1156 pts/0    R+   12:46   0:00 ps -aux
"D状态的演示查看"
在一个窗口执行
[root@m01 ~]# stress -d 1 -i 1 --hdd-bytes 3G
stress: info: [7112] dispatching hogs: 0 cpu, 1 io, 0 vm, 1 hdd
另一个窗口查看,可看到处于D状态
[root@m01 ~]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.0  19356  1428 ?        Ss   12:27   0:01 /sbin/init
root          2  0.0  0.0      0     0 ?        S    12:27   0:00 [kthreadd]
root       7113  0.5  0.0   6524   112 pts/0    D+   14:52   0:00 stress -d 1 -i 1 --hdd-bytes 3G
root       7114 39.4  0.0   7472  1180 pts/0    D+   14:52   0:03 stress -d 1 -i 1 --hdd-bytes 3G

猜你喜欢

转载自blog.51cto.com/10983441/2391020
今日推荐