程序员也要会的 Linux 命令
程序员文章站
2022-07-14 08:45:53
...
文章目录
1. 整机
top
按1
查看单个 CPU 性能
uptime
系统性能命令精简版 uptime
说明:
`load average` : 系统负载均衡
三个值分别代表:系统1分钟,5分钟,15分钟系统的平均负载值
这三个值相加,除以3,再乘以100%的值,如果高于60%,证明系统的负担压力重
2. CPU
vmstat
vmstat -n 2 3
一般 vmstat
工具的使用是通过两个数字参数来完成的
第一个参数是采样的时间间隔数,单位是秒
第二个参数是采样的次数
-
procs
- r : 运行和等待 CPU 时间片的进程数,原则上1核的 CPU 的运行队列不要超过2,整个系统的运行队列不能超过总核数的2倍,否则代表系统压力过大
- b:等待资源的进程数,比如正在等待磁盘I/O、网络I/O等
-
cpu
- us:用户进程消耗 CPU 时间片百分比,us 值高,用户进程消耗 CPU 时间多,如果长期大于50%,需要优化程序
- sy:内核进程消耗的 CPU 时间百分比
us + sy 参考值为80%,如果 us + sy 大于80%,说明可能存在 CPU 不足
- id:处于空间的 CPU 百分比
- wa:系统等待IO的 CPU 时间百分比
- st:来自于一个虚拟机偷取的 CPU 时间的百分比
查看额外
- 查看所有CPU核信息
mpstat -P ALL 2
每2秒采样一次mpstat -P ALL 2 5
每2秒采样一次,共采样5次
- 每个进程使用的CPU用量分解信息
pidstat -u 1 -p 进程编号
3. 内存
应用程序可用内存数 free
free -g
内存大小按照 GB 统计free -m
内存大小按照 MB 统计
- 经验
应用程序可用内存/系统物理内存
> 70% 内存充足
< 20% 内存不足,需要增加内存
在20% ~ 70%之间,内存基本够用
查看额外
pidstat -p 进程号 -r 采样间隔秒数
4. 硬盘
df
df -h
查看磁盘剩余空间
5. 磁盘IO
iostat
iostat -xdk 2 3
磁盘块设备分布
-
rkB/s 每秒读取数据量kB
-
wkB/s 每秒写入数据量kB
-
svctm I/O请求的平均服务时间,单位毫秒
-
util 一秒中有百分几的时间用于 I/O 操作,表示磁盘带宽跑满,需要优化程序或者增加磁盘
rkB/s、wkB/s根据系统应用不同,会有不同的值,但有规律可循:长期、超大数据读写,肯定不正常,需要优化程序读写
svctm 的值与 await 的值很接近,表示几乎没有 I/O 等待,磁盘性能好
如果 await 的值远高于 svctm 的值,则表示 I/O 队列等待太长,需要优化程序或者更换磁盘
查看额外
pidstat -d 采样间隔数 -p 进程号
6. 网络IO
ifstat
wget http://distfiles.macports.org/ifstat/ifstat-1.1.tar.gz
tar xzvf ifstat-1.1.tar.gz
cd ifstat-1.1
./configure
make
make install
查看命令
ifstat 1
各个网卡的 in、out
观察网络负载情况
程序网络读写是否正常
- 程序网络I/O优化
- 增加网络I/O带宽
推荐阅读