Linux 服务器 监控命令

1 top

top相似于windows下面的资源管理器。不只可以从服务器总体上展现服务器的大体状况,还能够看到具体进程
耗费资源的状况。    

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

Alt text

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

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

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

2 uptime

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

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

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

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

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

从负载的定义能够看出,负载的高低对于不一样机器并非绝对的,若是负载是1,那么对于单核的机器来讲htm

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

所以,对于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

相关文章
相关标签/搜索