linux服务器监控哪个,linux服务器监控

1.load

load为特定时间间隔内运行队列中平均线程数。load average后面三个值代表1、5、15分钟系统的load值,如果每个cpu的线程数大于5,表示系统负载较高,需采取措施降低负载,加快系统响应速度。

$ uptime

10:36:46 up 207 days, 17:55, 1 user, load average: 0.45, 0.75, 0.85

2.CPU利用率

CPU的时间消耗主要在如下几方面:用户进程、内核进程、中断处理、I/O等待、Nice时间、丢失时间、空闲等部分。CPU的利用率为这些时间所占总时间的百分比。通过CPU利用率,反映CPU的使用和消耗情况。

$ top | grep Cpu

%Cpu(s): 4.0 us, 0.3 sy, 0.0 ni, 95.1 id, 0.5 wa, 0.0 hi, 0.0 si, 0.1 st

%Cpu(s): 16.4 us, 1.3 sy, 0.0 ni, 80.6 id, 1.3 wa, 0.0 hi, 0.2 si, 0.2 st

%Cpu(s): 20.7 us, 1.5 sy, 0.0 ni, 75.0 id, 2.5 wa, 0.0 hi, 0.1 si, 0.2 st

%Cpu(s): 21.7 us, 2.1 sy, 0.0 ni, 75.6 id, 0.4 wa, 0.0 hi, 0.1 si, 0.2 st

%Cpu(s): 16.9 us, 1.3 sy, 0.0 ni, 80.9 id, 0.5 wa, 0.0 hi, 0.3 si, 0.2 st

us:用户时间(user time),表示cpu执行用户进程所占用的时间比,通常情况希望us的占比越高越好。

sy:系统时间(system time),表示cpu内核态所花费的时间,sy的占比较高意味着系统在某些方面设计的不合理。

ni:Nice时间(nice time),表示系统在调整系统优先级的时候所花费的时间。

id:空闲时间(idle time),表示系统处于空闲期,等待系统进程运行这个过程所占用的时间。id的占比越低越好。

wa:等待时间(waiting time),表示cpu在等待I/O操作所花费的时间。系统不应该花费大量的时间进行等待,否则可能某个地方设计不合理。

hi:硬件中断处理时间(hard irq time),表示系统处理硬件中断所占用的时间。

si:软件中断处理时间(soft irq time),表示系统处理软件中断所占用的时间。

st:丢失时间(steal time),表示被强制等待虚拟cpu的时间。如果占比较高,表示当前虚拟机与该宿主上其他虚拟机间的cpu争用较为频繁。

多个或多核cpu的服务器,查看每个cpu的使用情况,top命令后按1,可查看每个cpu利用率:

$ top

top - 11:04:17 up 207 days, 18:22, 2 users, load average: 1.75, 1.61, 1.25

Tasks: 153 total, 1 running, 152 sleeping, 0 stopped, 0 zombie

%Cpu0 : 7.1 us, 0.7 sy, 0.0 ni, 89.2 id, 2.4 wa, 0.0 hi, 0.3 si, 0.3 st

%Cpu1 : 15.2 us, 0.3 sy, 0.0 ni, 84.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

%Cpu2 : 5.7 us, 0.3 sy, 0.0 ni, 93.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

%Cpu3 : 3.4 us, 0.7 sy, 0.0 ni, 95.3 id, 0.3 wa, 0.0 hi, 0.3 si, 0.0 st

KiB Mem: 16006448 total, 15822004 used, 184444 free, 286124 buffers

KiB Swap: 0 total, 0 used, 0 free. 4554820 cached Mem

默认情况下top是按进程来显示cpu消耗情况,按shift+h,可以按照线程来查看cpu消耗情况,对于java应用非常有效。

-p 可以指定查看的进程:

$ top -p 21146

top - 11:10:55 up 207 days, 18:29, 2 users, load average: 2.65, 2.04, 1.57

Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie

%Cpu(s): 38.4 us, 44.3 sy, 0.0 ni, 15.9 id, 0.4 wa, 0.1 hi, 0.4 si, 0.4 st

KiB Mem: 16006448 total, 15786216 used, 220232 free, 287160 buffers

KiB Swap: 0 total, 0 used, 0 free. 4508536 cached Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

21146 root 20 0 6774296 2.293g 9140 S 7.0 15.0 83:02.28 java

3.磁盘剩余空间

df命令查看磁盘的剩余空间:

$ df -h

Filesystem Size Used Avail Use% Mounted on

/dev/xvda1 20G 9.0G 9.6G 49% /

devtmpfs 7.8G 0 7.8G 0% /dev

tmpfs 7.7G 0 7.7G 0% /dev/shm

-h 表示按单位格式化输出。

du用来查看具体目录所占用的空间:

$ du -d 1 -h /data/

6.1G /data/riskimage

41M /data/risk-star

112M /data/source

128M /data/tmp

6.3G /data/logs

-d 表示递归深度,1表示下一级目录

-h 表示按文件大小单位格式化输出

4.网络traffic

关注网络的流量同样重要,网络流量迅速上升后可能使某些应用出现网络瓶颈,所以需要了解各个节点的阈值与水平。

$ sar -n DEV 1 1

Linux 3.10.0-123.9.3.el7.x86_64 (base01.service-inc.cn) 07/14/2016 _x86_64_ (4 CPU)

11:21:02 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

11:21:03 AM eth0 495.00 450.00 80.89 72.94 0.00 0.00 0.00

11:21:03 AM eth1 208.00 210.00 13.39 410.32 0.00 0.00 0.00

11:21:03 AM lo 258.00 258.00 85.41 85.41 0.00 0.00 0.00

Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

Average: eth0 495.00 450.00 80.89 72.94 0.00 0.00 0.00

Average: eth1 208.00 210.00 13.39 410.32 0.00 0.00 0.00

Average: lo 258.00 258.00 85.41 85.41 0.00 0.00 0.00

-n 表示汇报网络的状况,DEV表示查看各个网卡的网络流量,第一个1表示每一秒抽样一次,第二个1表示总共取一次。

lo:表示本地回环网络

eth0、eth1:表示网卡

rxpck/s:每秒接收的数据包数量

txpck/s:每秒发出的数据包数量

rxkB/s:每秒接收到的字节数(KB)

txkB/s:每秒发送的字节数(KB)

rxcmp/s:每秒接收到的压缩包数量

txcmp/s:每秒发送的压缩包数量

rxmcst/s:每秒收到的广播包数量

Average:多次取样的平均值

5.磁盘I/O

磁盘I/O的繁忙度也是一个重要的系统指标。对于I/O密集型的应用来说,比如数据库应用和分布式文件系统等,I/O的繁忙程度也一定程度的反映了系统的负载情况,容易成为应用性能的瓶颈。

$ iostat -d -k

Linux 3.10.0-123.9.3.el7.x86_64 (base01.service.cn) 07/14/2016 _x86_64_ (4 CPU)

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

xvda 1.28 0.86 15.90 15436649 285375444

xvdb 13.08 43.97 143.90 789478293 2583453348

-d 表示查看磁盘使用情况

-k 表示以KB为单位显示

device:表示设备名称

tps:每秒处理的I/O请求数

kB_read/s:每秒从设备读取的数据量

kB_wrtn/s:每秒向设备写入的数据量

kB_read:读取的数据总量

kB_wrtn:写入的数据总量

程序运行时的数据加载、线程并发、I/O缓冲等,都依赖于内存,可用内存的大小决定了程序是否能正常运行以及运行的性能。

$ free -m

total used free shared buffers cached

Mem: 15631 12998 2632 274 290 1858

-/+ buffers/cache: 10849 4781

Swap: 0 0 0

-m 表示以MB为单位

total:内存总共大小

used:已使用内存大小

free:可使用内存大小

shared:多个进程共享的内存大小

buffers:缓冲区的大小

cached:缓存的大小

swap:虚拟内存的消耗,total为0代表无虚拟内存。有的话,需要注意虚拟内存的使用,使用过多代表物理内存已经不够。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值