博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 服务器 监控命令
阅读量:5155 次
发布时间:2019-06-13

本文共 1451 字,大约阅读时间需要 4 分钟。

1 top

top类似于windows下面的资源管理器。不仅能够从服务器整体上展示服务器的大致情况,还可以看到具体进程耗费资源的情况。    展示内存、cpu、交换分区等信息

Alt text

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

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

可以看出,top命令是一个强大生猛的服务器监控利器。它比较全面,可以在排查初期使用top命令迅速缩小

查找范围。但对一些内存的展示单位比较小,看起来不舒服,所以个人更倾向使用下面单个独立的命令。

2 uptime

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

461250-20180516163906963-563726492.png

着重说下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为单位来显示

的。

461250-20180517095731873-1456255092.png

实际上,作为一个命令使用起来是简单的,前提是要理解linux下的机制,你看起来就行1+1=2那么简单,

否则你看到的就是一堆%@¥¥&%¥@火星文。所以,free命名是用来监控内存的,因此前提要了解
Linux下的内存机制,这里限于篇幅与主题不进行深入讨论。

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

这台机器实际上还有6381M可以使用。

到底什么时候内存是不足呢?一般交换分区的使用是一个重要的信号,但这并不是说,交换分区一旦被使用

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

4 iostat

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

如: iostat -dxh 3 5

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

461250-20180518160603585-1278929072.jpg

【参考&&扩展阅读】

进程状态说明:

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

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

转载于:https://www.cnblogs.com/heat-man/p/8744148.html

你可能感兴趣的文章
POS Tagging 标签类型查询表(Penn Treebank Project)
查看>>
Cookie/Session机制详解
查看>>
搭建Docker环境---Docker概述
查看>>
UVa 11383 少林决胜(二分图最佳完美匹配)
查看>>
ISP DSP的不同
查看>>
深入Linux grep指令的详解(实用型)
查看>>
嵌入式根文件系统的移植和制作详解
查看>>
javascript Uncaught ReferenceError: 方法名 is not defined
查看>>
Android 学习心得(2)——Android内置数据库SQLite
查看>>
走进AngularJs(二) ng模板中常用指令的使用方式
查看>>
6-sift特征匹配
查看>>
网页编程技术三(H5中表格的用法)
查看>>
UITextView自定义placeholder功能:用一个label写了文字,然后当检测到长度不为0的时候就把label隐藏...
查看>>
MongoDB 插入、更新、删除
查看>>
arc()
查看>>
【leetcode】Majority Element
查看>>
数组的方法之(Array.prototype.reduce() 方法)
查看>>
itchat库微信自动回复祝福语
查看>>
移动端浏览器touch事件的研究总结
查看>>
pandas—总结(2) 数据读写 (更新中)
查看>>