排查线上问题常用的几个Linux命令

https://www.cnblogs.com/cjsblog/p/9562380.html

top

相当于Windows任务管理器

可以看到,输出结果分两部分,前5行是总览,下面是具体的进程资源占用情况。下面逐行看一下

第1行

top - 18:14:58 up 112 days, 1:35, 1 user, load average: 0.00, 0.10, 0.11

依次表示:当前时间、系统已经运行的时间、当前登录的用户数、系统在过去的1分钟,5分钟,15分钟的负载

(PS:

从这一行我们可以知道以下信息

当前时间是18:14:58
系统运行了112天1小时35分钟
当前有1个用户登录
在过去1分钟,5分钟,15分钟的负载分别是0.00, 0.10, 0.11
负载超过1,则表示超负荷

第2行

Tasks: 225 total, 1 running, 224 sleeping, 0 stopped, 0 zombie

进程信息

total    进程总数
running   运行中的进程数
sleeping  睡眠中的进程数
stopped  停止的进程数
zombie   僵尸进程数
(PS:从这一行我们可以知道,当前总共225个进程)

第3行

Cpu(s): 1.8%us, 0.9%sy, 0.0%ni, 97.1%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st

CPU使用情况

us : 用户进程占用CPU百分比

sy : 内核进程占用CPU百分比

ni : 改变过优先级的进程占用CPU百分比

id : 空闲CPU百分比

wa : IO等待的进程占用CPU百分比

hi : 硬中断占用CPU的百分比

si : 软中断占用CPU的百分比

st :

第4行

Mem: 32879852k total, 23633040k used, 9246812k free, 311552k buffers

物理内存使用情况

total  总的内存大小
used  已使用
free  未使用
buffers  内核缓冲区   
可用内存 = free + buffers + cached

第5行

Swap: 4194300k total, 255104k used, 3939196k free, 10422508k cached

虚拟内存使用情况

其余行

free -m

查看已使用和未使用的内存情况

Mem  total = used + free

Swap  total = used + free

可用内存 = free + buffers + cached

(-buffers/cache) used内存数 = Mem行中的 used – buffers – cached

(+buffers/cache) free内存数 = Mem行中的 free + buffers + cached

iostat

格式:iostat [ 选项 ] [ [ ]]

示例:

iostat -d

iostat -d 2 2

iostat -x 1 2

netstat

要特别关注一下“ESTABLISHED”的数量,如果ESTABLISHED越多,表示建立的连接越多,如果一直居高不下,那么就要引起注意了,因为系统对打开的连接数是有限制的。

常见应用:

1、查看连接数最多的IP

netstat -na | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c
2、统计TCP不同状态的连接数

netstat -na | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
df -h

查看文件系统磁盘空间使用情况

du -sh

查看(计算)文件大小

还可以这样

du --max-depth=2 --block-size=M

或者

ll --block-size=M

其它相关

《Linux系统打开文件最大数量限制》

最新文章

  1. 【Network】OVS VXLAN/GRE 实践
  2. Objective-C语言控制语句
  3. ArrayList源码
  4. PLSQL_性能优化工具系列02_SQL Tuning Health-Check Script (SQLHC)
  5. 分享一下jQuery UI的地址
  6. 文件和目录之link、unlink、remove和rename函数
  7. Entropy (huffman) 优先队列)
  8. DC DC電路電感的選擇
  9. 24C01的IIC 讀寫的c51程式
  10. try-catch-finally块的运行机制
  11. MySQL 分区表各个分区的行数
  12. List集合分页显示
  13. 移动端二三事【三】:transform的注意事项
  14. aria2 加速百度网盘下载
  15. Jmeter MD5插件
  16. DB2数据库常用命令
  17. bootgrid
  18. pytorch构建自己的数据集
  19. FUSE 文件系统 example部分 源码注释 (libfuse 2.9.9)
  20. Python模块和类.md

热门文章

  1. 微信小程序项目结构
  2. 2018 ICPC 沈阳网络赛预赛 Supreme Number(找规律)
  3. NOIP临考经验(转)
  4. Java日志框架-Spring中使用Logback(Spring/Spring MVC)
  5. [置顶] MySQL -- 创建函数(Function
  6. 用C++实现约瑟夫环的问题
  7. HDU 3118 Arbiter 判定奇圈
  8. sql select(A.B)拼接
  9. ios自动生成对象类,提高开发速率
  10. springmvc学习笔记(18)-json数据交互