那位先生

个人站

前世五百次回眸,才能换得今生的一次擦肩而过。


linux常见命令

1.top

1.1.第一行

13:03:25	表示当前时间  
up 23	系统运行时间 格式为时:分   
1 users	当前登录用户数  
load average: 0.00, 0.01, 0.03	系统负载,即任务队列的平均长度。 
	三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。相加/3大于60%,系统负担较重。

1.2.第二行

进程数

1.3.第三行

us:用户进程消耗的CPU时间百分比,us值高,用户进程消耗CPU多,长期大于50%需要优化代码。
sy:内核进程消耗的CPU时间百分比
us+sy 大于80%,说明CPU不足
id:空闲CPU百分比
wa:等待输入输出的CPU百分比

1.4.第四行

内存信息

1.5.第五行

交换区信息

1.6.剩余

进程信息

2.vmstat 查看CPU信息

vmstat—vmstat -n 2 3两秒输出一次共输出3次

procs
r:运行和等待CPU时间片的进程数,原则上1核的CPU的运行队列不要超过2(平均值),
否则代表系统压力过大。
b:等待资源的进程数,比如正在等待磁盘IO,网络IO等
cpu--
us:用户进程消耗的CPU时间百分比,us值高,用户进程消耗CPU多,长期大于50%需要优化代码。
sys:内核进程消耗的CPU时间百分比
us+sys 大于80%,说明CPU不足
id:cpu空闲率

2.1 mpstat

mpstat -P ALL 2
查看所有的cpu信息(多核情况 )

2.2 pidstat

pidstat -u 1 -p 进程编号
每个进程使用cpu的用量分解信息。(ps -ef | gep java 查看java进程编号。或top命令))

3.free 查看内存信息

free---查看应用可用内存
free  以kb显示
free -m以M显示大小(建议)
free -g 以G显示大小
<20%不够用
20%-70%基本够用
>70%充足

3.1 pidstat

pidstat -p 进程号 -r 采样间隔描述
查看某个具体的进程

3.df 查看磁盘信息

4.iostat 磁盘IO

iostat---iostat -xdk 2 3
rk 每秒读取数量
wk 每秒写入数量
svctm IO请求的平均服务时间,单位毫秒
await IO的平均等待时间
util 一秒钟有百分之几的时间用户IO,接近100%说明磁盘宽带饱满,需要优化程序或磁盘

查看额外的---pidstat -d 采样间隔秒数 -p 进程号

5.ifstat 网络IO

6. du -h 查看文件大小

du -h –max-depth=1 work/testing

7. CPU过高定位

1.top命令找出CPU占用过高的
2.ps-ef或jps -l 定位是什么后台程序
3.将线程ID转换为16进制(英文小写格式)  
  print "%x\n" 有问题的线程ID
4.jstack 进程ID | grep tid(16进制线程ID且英文小写) -A90
 从输出的日志中找到代码

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
你说多少就多少

比五毛钱特效专业哦