觉得浮夸了四年,漠然发现原来是浮躁了四年!

Linux 服务器 监控命令

1 top

top类似于windows下面的资源管理器。不仅能够从服务器整体上展示服务器的大致情况,还可以看到具体进程
耗费资源的情况。    

展示内存、cpu、交换分区等信息

Alt text

如上图:
  1. 第一行主要描述系统整体信息,同uptime的结果
  2. 第二行描述进程,总进程数以及各个状态的进程数分布
  3. 第三行cpu 状态信息
  4. 第四行内存使用概况
  5. 第五行交换分区使用概况

下面的一堆就是各个进程的监控了。截图中没有给出。

可以看出,top命令是一个强大生猛的服务器监控利器。它比较全面,可以在排查初期使用top命令迅速缩小
查找范围。但对一些内存的展示单位比较小,看起来不舒服,所以个人更倾向使用下面单个独立的命令。

2 uptime

应该是本人几年前第一个接触到服务器监控命令,很简单也很直观。

着重说下load average,这个三个负载数分别是过去的1/5/15分钟内的平均负载数。

下面就说下这个负载数具体代表什么意义了? 这个负载主要指的是处于 runnable 或者 uninterruptable

状态下的进程数。runnable 状态就是进展正在或者等待使用cpu资源,而uninterruptable(不间断)状态

就是进程正在请求一些IO,如等待请求磁盘。

从负载的定义可以看出,负载的高低对于不同机器并不是绝对的,如果负载是1,那么对于单核的机器来说

说明,机器一直在处理进程,但在一个四核的机器上,说明4/3的cpu资源都在处于空闲状态。

因此,对于4核机器来说,只有当负载长时间远大于4的时候,我们认为机器资源存在短板。

可能是cpu或者磁盘等。因此,可以看出uptime是个粗范围的衡量。

当服务器卡顿的时候,第一反应使用uptime来确认服务器的负载是否过高。

另外,切记 uptime 的前提是要清楚机器的核数。

3 free

当使用uptime确认负载过高后,可以使用free命名来确认内存是否正常。free -m命令是以MB为单位来显示
的。

实际上,作为一个命令使用起来是简单的,前提是要理解linux下的机制,你看起来就行1+1=2那么简单,
否则你看到的就是一堆%@¥¥&%¥@火星文。所以,free命名是用来监控内存的,因此前提要了解
Linux下的内存机制,这里限于篇幅与主题不进行深入讨论。

这里需要注意的是,看还有多少内存可以使用并不是看第一行的free,而是看第二行的free。所以对于
这台机器实际上还有6381M可以使用。

到底什么时候内存是不足呢?一般交换分区的使用是一个重要的信号,但这并不是说,交换分区一旦被使用
了就是内存不足了,而是通过观察发现,内存被几乎用光,而且长时间使用交换空间,外加服务器运行迟缓
这个时候基本可以判断是内存不足了。关于交换分区的讨论可能又是一个比较深入的话题,这里不再展开。

4 iostat

iostat 命名可以监控IO 设备的运行状况。

如: iostat -dxh 3 5

其中 -d 表示展示磁盘信息 x 显示一些扩展信息 h 统一以kb为单位展示

【参考&&扩展阅读】

进程状态说明:

https://blog.csdn.net/tianlesoftware/article/details/6457487

https://www.cnblogs.com/chenpingzhao/p/5161844.html

posted @ 2018-04-08 11:55  heat nan  阅读(236)  评论(0编辑  收藏  举报