Linux服务器问题排查常用指令
来源:互联网 发布:常州 软件企业排名 编辑:程序博客网 时间:2024/05/18 17:03
1、服务器硬指标
CPU、内存、磁盘、网络、进程......
熟悉如何查看这些指标,会对你排查线上问题很有帮助。
2、CPU--/proc/cpuinfo
指标:load(负载)
解释一下,load在CPU中可以理解为CPU可以并行处理的任务数,那么就是“CPU个数 * 核数”,如果CPU Load = CPU个数 * 核数 那么就是说CPU正好满负载,再多一点,可能就要出问题了,有任务不能被及时分配处理器,那么保证性能的话,最好是小于CPU个数 * 核数 *0.7。
load average: 0.09, 0.05, 0.01分别是1分钟、5分钟、15分钟的平均Load。
指标:r/b(进程状态)
r,run queue,可运行队列的线程数,这些线程都是可运行状态,只不过CPU暂时不可用,即为在运行队列中等待的进程数 ;
b,被blocked的进程数,正在等待IO请求;
查看指令/工具:
- w [ -h ] [ -u ] [ -w ] [ -l | -s ] [ User ](打印当前系统活动摘要)
- uptime(查询linux系统负载)
- ps(进程查看命令)
- top(实时显示系统中各个进程的资源占用状况)
- vmstat
week@week:~$ vmstat
procs -----------memory-------------swap-------io-----system------cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
2 0 402041762689685203360 0 0 10 24 35 34 41779 0
procs -----------memory-------------swap-------io-----system------cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
2 0 402041762689685203360 0 0 10 24 35 34 41779 0
- mpstat [1|2|3|...](数字代表多少秒读取一次CPU状态)
week@week:~$ mpstat2
Linux 3.2.0-40-generic (week) 06/16/2013 _x86_64_ (4 CPU)
04:17:00 PM CPU %usr %nice %sys%iowait %irq %soft %steal %guest %idle
04:17:02 PM all 5.28 0.00 3.90 0.00 0.00 0.00 0.00 0.00 90.82
04:17:04 PM all 1.62 0.00 2.12 0.12 0.00 0.00 0.00 0.00 96.13
04:17:06 PM all 1.26 0.00 2.01 0.00 0.00 0.00 0.00 0.00 96.73
Linux 3.2.0-40-generic (week) 06/16/2013 _x86_64_ (4 CPU)
04:17:00 PM CPU %usr %nice %sys%iowait %irq %soft %steal %guest %idle
04:17:02 PM all 5.28 0.00 3.90 0.00 0.00 0.00 0.00 0.00 90.82
04:17:04 PM all 1.62 0.00 2.12 0.12 0.00 0.00 0.00 0.00 96.13
04:17:06 PM all 1.26 0.00 2.01 0.00 0.00 0.00 0.00 0.00 96.73
3、Memory--/proc/meminfo
指标:Total/Used/Free/Buffered/Cached
total:表示物理内存总量。
used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
free:未被分配的内存。
shared:共享内存,一般系统不会用到。
buffers:系统分配但未被使用的buffers 数量。
cached:系统分配但未被使用的cache 数量。
buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.cached是用来给文件做缓冲。那就是说:buffers是用来存储,目录里面有什么内容,权限等等。
而cached直接用来记忆我们打开的文件
查看指令/工具:
- top
- ps
- /proc/meminfo
- free [-bkmotV][-s <间隔秒数>]
参 数:
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息。
week@week:~$ free
total used free shared buffers cached
Mem: 8132300 7878284 254016 0 252808 3990924
-/+ buffers/cache: 3634552 4497748
Swap: 8341500 40 8341460
total used free shared buffers cached
Mem: 8132300 7878284 254016 0 252808 3990924
-/+ buffers/cache: 3634552 4497748
Swap: 8341500 40 8341460
4、I/O
指标:%iowait,b,w/r,tps
%iowait:每一个IO请求的处理的平均时间(单位是毫秒),这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。
kB_read/s:每秒读K字节数
kB_wrtn/s:每秒写K字节数
r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s: 每秒读扇区数。即 delta(rsect)/s
wsec/s: 每秒写扇区数。即 delta(wsect)/s
tps:该设备每秒的传输次数,“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。
查看指令/工具:
- top
- mpstat
- iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [ ... ] | ALL ] [ -p [ device | ALL ] ][ interval [ count] ]
常见用法iostat -d -k 1 10 #查看TPS和吞吐量信息iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)iostat -c 1 10 #查看cpu状态
week@week:~$ iostat
Linux 3.2.0-40-generic (week) 06/16/2013 _x86_64_ (4 CPU)
avg-cpu: %user %nice%system%iowait %steal %idle
3.98 0.01 15.76 0.04 0.00 80.22
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 4.09 39.63 87.51 3782219 8352308
sdb 0.00 0.02 0.00 1673 0
Linux 3.2.0-40-generic (week) 06/16/2013 _x86_64_ (4 CPU)
avg-cpu: %user %nice%system%iowait %steal %idle
3.98 0.01 15.76 0.04 0.00 80.22
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 4.09 39.63 87.51 3782219 8352308
sdb 0.00 0.02 0.00 1673 0
df/du
df命令用于检查磁盘空间使用情况
df -k 以千字节KB 为单位显示各分区的信息
df -a 显示所有分区包括大小为0 的分区
df -T 显示分区类型EXT2 或EXT3 等
du命令参数用于查看文件或文件夹的大小
du -b /home 以字节为单位显示/home 文件夹下各个子文件夹的大小
du -h ./ 以mb为单位显示当前 文件夹下各个子文件夹的大小
du -ks /home 以千字节KB 为单位显示/home 文件夹的总大小
- Linux服务器问题排查常用指令
- 排查问题常用Linux命令
- linux服务器常用指令
- Linux服务器大量向外发包问题排查
- 【原】java问题排查常用linux命令
- Java问题排查常用linux命令
- Java问题排查常用Linux命令
- Java问题排查常用linux命令
- Java问题排查常用Linux命令
- Java问题排查常用linux命令
- Java问题排查常用linux命令
- Java问题排查常用linux命令
- Java问题排查常用Linux命令
- Linux细节 - 常用Linux下排查服务器性能命令
- 服务器问题排查常用命令
- Linux服务器故障排查
- linux服务器的几个常用指令
- 关于使用linux的命令排查服务器的性能问题
- Python快速教程总结
- IO流缓冲区的清空(flush方法)
- 项目管理师-挣值分析总结
- Python标准库——走马观花
- HDU1792(数论)
- Linux服务器问题排查常用指令
- [OOAD]OOD设计各个任务流程
- IOS第三十一天——在IOS开发中操作sqlite3
- git repo使用心得
- 10115 - Automatic Editing
- android 底层讲解
- 初始化列表的执行顺序
- 红黑树
- 控制驱动部分的设计