你也可以访问这个地址继续学习:https://www.processon.com/view/6076a7ffe401fd2d66980f5b
更多技术学习请到:https://www.processon.com/view/60504b5ff346fb348a93b4fa
一、Top命令
top:查询系统性能详细版
重点关注我标注的红色区域:cpu0/1/2/3表示服务器的核数,如果load average: 0.12, 0.17, 0.21的和值大于70%,就需要重点关注了。
uptime:查询系统性能命令精简版
二、cpu查看vmstat
vmstat -n 2 3 表示每隔2秒采样三次
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数单位是秒,第二 个参数是采样的次数
procs:
● r:运行和等待CPU时间片的进程数,原则上1核的CPU的运行队列不要超过2,整个系统的运行队列不能超过总核数的2倍,否则代表系统压力过大
● b:等待资源的进程数,比如正在等待磁盘I/0、网络I/0等。
cpu:
● us:用户进程消耗CPU时间百分比,us值高,用户进程消耗CPU时间多,如果长期大于50%, 优化程序;
● sy:内核进程消耗的CPU时间百分比;
● us + sy参考值为80%, 如果us + sy大于80%, 说明可能存在CPU不足。
id:处于空闲的CPU百分比.
wa:系统等待I0的CPU时间百分比.
st:来自于一个虚拟机偷取的CPU时间的百分比
PS:查看CPU的核数,mpstat -P ALL
查询一个进程的详细运行情况:pidstat -u 1 -p 进程ID 2 这个命令代表采集2次,并统计平均值
三、内存查看free
常用命令参数:free -g free -m
-应用程序可用内存数据,经验值
● 应用程序可用内存/系统物理内存> 70%内存充足
● 应用程序可用内存/系统物理内存<20%内存不足,需要增加内存
● 20%<应用程序可用内存/系统物理内存<70%内存基本够用
查询额外的信息:pidstat -p 进程号 -r 采样间隔秒数
五、iostat查询磁盘IO
磁盘io性能评估
常用命令组合:iostat -xdk 2 3
磁盘块设备分布
1、rkB/s每秒读取数据量kB;
2、wkB/s每秒写入数据量kB;
3、svctm I/O请求的平均服务时间,单位毫秒;
4、await I/O请求的平均等待时间,单位毫秒;值越小,性能越好;
5、util一秒中有百分几的时间用于I/O操作。接近100%时,表示磁盘带宽跑满,需要优化程序或者增加磁盘;
6、rkB/s、wkB/s 根据系统应用不同会有不同的值,但有规律遵循:长期、 超大数据读写,肯定不正常,需要优化程序读取。
7、svctm的值与await的值很接近,表示几乎没有I/O等待,磁盘性能好,
如果await的值远高于svctm的值,则表示I/O队列等待太长,需要优化程序或更换更快磁盘。
六、ifstat查询网络IO
如果你的服务器没有装,那就需要下载并安装它。
查询网络io
各个网卡的in、out
观察网络负载情况
程序网络读写是否正常
-程序网络I/O优化
-增加网络I/O带宽