Linux服务器问题排查常用指令

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      40 204176 268968 5203360     0     0     10     24    35    34   4 17 79   0
  • mpstat [1|2|3|...](数字代表多少秒读取一次CPU状态)
week@week : ~$ mpstat 2
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
 
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
  • 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 文件夹的总大小
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值