linux 在服务器方面的几个指标, cpu memory io network
基本指标和命令
cpu,memory: top
io: iostat
network: iptraf
================ 所有需要的命令 =====
top #查看所有进程的信息q结束
top -p pid #查看指定进程的信息q结束
top -p [pid] -H #查看指定进程的线程信息q结束
vmstat 1 #每秒统计信息
iostat -d -k 1 10 #查看TPS和吞吐量信息
iostat -d -x -k 1 10 #查看设备使用率(%util) 响应时间(await)
iostat -c 1 10 #查看cpu状态
iptraf -d eth0 # 提供以太网卡的吞吐量情况
==============================
1. cpu, memory
a. 查看:
格式1: top
格式2:top -p pid[,pid]
例子:top -p 27396,13742,30771,5571 #查看进程pid为27396,13742,30771,5571的使用情况
b. 合理的状态:
查看Cpu(s): 0.9%us, 0.4%sy, 0.0%ni, 98.5%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
CPU 满状态负荷 65%--70%的用户时间(%us) 30%--35%的系统时间(%sy) 0%--5%的空闲时间(%id)
c. 查看进程内线程:
格式 top -p [pid] -H #直接查看这个进程内部的线程情况
[注意]
另一个工具vmstat
------procs-------
r: run queue 运行队列中进程数量
b: blocked 等待IO的进程数量
-----------memory----------
swpd: 使用虚拟内存大小
free: 可用内存大小
buff: 用作缓冲的内存大小
cache: 用作缓存的内存大小
---swap--
si: swapped in 每秒从交换区写到内存的大小
so: swapped out 每秒写入交换区的内存大小
-----io----
bi: blocks in 每秒读取的块数
bo: bocks out 每秒写入的块数
--system--
in: interrupts 正在处理的中断数
cs: context switches 正在发生的上下文切换数
-----cpu-----
us: user 用户 CPU 时间百分比
sys: system 内核 CPU 时间百分比
wa: wait 可运行进程等待 IO 百分比
id: idle CPU 空闲时间百分比
a. 查看:
格式和例子: vmstat 1 #1秒统计一次,结果
b. 主要可以用来查看中断和上下文切换的情况
2. io
a. 查看:
iostat -d -k 1 10 #查看TPS和吞吐量信息
iostat -d -x -k 1 10 #查看设备使用率(%util) 响应时间(await)
iostat -c 1 10 #查看cpu状态
tps:每秒对设备的I/O请求数量
b.合理的状态:
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
idle小于70% IO压力就较大了,一般读取速度有较多的wait.
同时可以结合vmstat 查看查看b参数(等待资源的进程数)和wa参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高)
3. network
a. 查看:
格式: iptraf -d eth0 # 提供以太网卡的吞吐量情况
b.合理情况:
这个就需要看具体情况来了
另外:
其他还有各种各样的工具来进行使用,当需要的时候在找好了
比如测试网络性能: netperf, iperf
比如测试客户端到服务器之间的延迟情况