如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员。

有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Guard 同样很出色。当然,要使用这些工具,你必须在服务器跟前进行操作,而且这些 GUI 的程序占用了很多系统资源,所以说,尽管 GUI 用来做基本的服务器健康状态监测挺好,但如果你想知道真正发生什么,请关掉 GUI 开始命令行之旅吧。

你应该只在需要的时候去启动 GUI ,不用的时候关掉它。如果要让服务器保持最佳性能,你应该将 Linux 服务器的运行级别 runlevel 设置为 3 ,就是控制台模式,当你需要图形化桌面的时候使用 startx 命令来启动它。

如果你的服务器启动后就直接进入图形界面,你需要修改配置 /etc/inittab 找到 initdefault 一样,将 id:5:initdefault 修改为 id:3:initdefault。

如果你没找到 /etc/inittab 文件,那就创建一个新的,文件内容增加 id:3 这么一行。这样下次服务器启动的时候就不会进入图形界面。如果你不想等到服务器重启的时候才生效,你可以执行 init 3 这个命令。

一旦你的服务器是在控制台模式下运行,你就可以开始我们接下来的内容。

iostat

iostat 命令用来显示存储子系统的详细信息,通常用它来监控磁盘 I/O 的情况。要特别注意 iostat 统计结果中的 %iowait 值,太大了表明你的系统存储子系统性能低下。

meminfo 和 free

Meminfo 可让你获取内存的详细信息,你可以使用 cat 和 grep 命令来显示 meminfo 信息:

cat /proc/meminfo

另外你可以使用 free 命令来显示动态的内存使用信息,free 只是给你大概的内存信息,而 meminfo 提供的信息更加详细。例如在 oschina 上的 free 命令执行结果:

mpstat

mpstat mpstat是MultiProcessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。

再来看看 oschina 上的 mpstat 命令执行结果:

关于 mpstat 执行结果中的参数意思请参考此贴。

netstat

Netstat 和 ps 命令类似,是 Linux 管理员基本上每天都会用的工具,它显示了大量跟网络相关的信息,例如 socket 的使用、路由、接口、协议、网络等等,下面是一些常用的参数:

-a Show all socket information
-r Show routing information
-i Show network interface statistics
-s Show network protocol statistics

nmon

Nmon, 是 Nigel's Monitor 的缩写,是一个使用很普遍的开源工具,用以监控 Linux 系统的性能。Nmon 监控多个子系统的性能数据,例如处理器的使用率、内存使用率、队列、磁盘I/O统计、网络I/O统计、内存页处理和进程信息。Nmon 也提供了一个图形化的工具:

要运行 nmon,你可以在命令行中启动它,然后选择要监控的子系统,这些子系统都对应有一个快捷键,例如输入 c 可查看 CPU 信息,m用于查看内存,d用来查看磁盘信息等,你也可以使用 -f 命令将 nmon 的执行结果保存到一个 CSV 文件中,便于日后分析。

在每日的监控工作中,我发现 nmon 是我最常用的工具。

pmap

pmap 命令用来报告每个进程占用内存的详细情况,可用来看是否有进程超支了,该命令需要进程 id 作为参数。

ps 和 pstree

ps 和 pstree 命令是 Linux 系统管理员最好的朋友,都可以用来列表正在运行的所有进程。ps 告诉你每个进程占用的内存和 CPU 处理时间,而 pstree 显示的信息没那么详细,但它以树形结构显示进程之间的依赖关系,包括子进程信息。一旦发现某个进程有问题,你可以使用 kill 来杀掉它。

sar

sar 程序是系统监控工具里的瑞士军刀。该程序包含三个工具:sar 用来显示数据,sa1 和 sa2 用来收集数据并保存。sar 可用来显示 CPU 使用率、内存页数据、网络 I/O 和传输统计、进程创建活动和磁盘设备的活动详情。sar 和 nmon 最大的不同就是 sar 跟适合用作长期的监控,而 nmon 可以让你快速的了解系统当前状态。

strace

strace 经常被认为是程序员调试的工具,但不止如此。它可以记录进程进行系统调用的详情,因此它也是一个非常好的诊断工具,例如你可以使用它来找出某个程序正在打开某个配置文件。

Strace 也有一个缺陷,但它在跟踪某个进程时会让该进程的性能变得非常差,因此请谨慎使用。

tcpdump

Tcpdump 是一个简单、可靠的网络监控工具,用来做基本的协议分析,看看那些进程在使用网络以及如何使用网络。当然,如果你要获取跟详细的信息,你应该使用 Wireshark (下面我们会介绍).

top

top 命令显示当前的活动进程,默认它是按消耗 CPU 的厉害程度进行排序,每5秒钟刷新一次列表,你也可以选择不同的排序方式,例如 m 是按内存占用方式进行排序的快捷键。

uptime

uptime 命令告诉你这台服务器从开机启动到现在已经运行了多长时间了。同时也包含了从启动到现在服务器的平均负载情况,看看 oschina 的数据:

我已经忘了上次是为什么重启机器了,好像是换了个机柜。

vmstat

你可以使用 vmstat 来监控虚拟内存,一般 Linux 上的开发者喜欢使用虚拟内存来获得最佳的存储性能。该命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

在 oschina 上执行 vmstat 的结果:

Wireshark

Wireshark, 前身是 Ethereal ,是一个网络协议检测程序,让您经由程序抓取运行的网站的相关资讯,包括每一封包流向及其内容、资讯可依操作系统语系看出,方便查看、监控TCP session动态等等.

这里罗列的是大多数最有价值的 Linux 监控程序,当然,你可能还会使用其他的工具,不妨跟大家分享下。

c监控进程发现未启动就启动进程_非常有用的16个Linux 服务器监控命令相关推荐

  1. 常用16 个 Linux 服务器监控命令

    本文转自http://www.oschina.net/question/12_44528 并添加了一些说明 (以# #标示) 注: 所有标示都是在centos6.3下 如果你想知道你的服务器正在做干什 ...

  2. 16个Linux服务器监控命令

    通过图形化用户界面(GUI)程序来获取这些外壳命令提供的大量信息,具体取决于使用哪一种Linux发行版.比如说,SUSE Linux就有一款出色的.图形化配置和管理工具YaST,KDE的KDE Sys ...

  3. 非常有用的15个Linux 服务器监控命令

    如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员. 有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 ...

  4. 16 个 Linux 服务器监控命令和watch

    如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员. 有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 ...

  5. Linux服务器监控cpu数据shell脚本

    Linux服务器监控cpu数据shell脚本 背景: 一种简易的监控进程的CPU.内存.线程数.句柄数的办法,使用shell脚本实现监控,Excel实现数据分析. #!/bin/bash#过滤出需要的 ...

  6. Linux服务器监控以及查日志教程

    bash快捷键 快捷键 作用 crtl+A 把光标移动到命令行开头,如果我们输入的命令过长,想要把光标移动到命令行开头时使用 crtl+E 把光标移动到命令行结尾 crtl+C 强制终止当前的命令 c ...

  7. Grafana Prometheus 服务安装部署(Linux服务器监控)

    文章目录 一.概述 二.安装Prometheus 1.安装node_exporter 2.安装Prometheus 三.安装Grafana展示监控 监控进程 一.概述 Prometheus 介绍 Pr ...

  8. 16个常用的Linux服务器监控命令

    公司的项目终于进入验收阶段,昨天客户要求统计各服务器的运行参数,查几个命令查了很久,也没完全搞定:刚刚发现了今天的一篇新文章,果断收藏转载~ 如果你想知道你的服务器正在做干什么,你就需要了解一些基本的 ...

  9. 【性能测试】linux服务器监控性能测试

    文章目录 一.服务器测试概述 1.1 测试目的 1.2 测试与生产环境配置不同怎么办 二.进程与线程 2.1 定义与区别 2.2 进程优缺点 2.3 线程优缺点 三.服务器实时监控 3.1 服务器性能 ...

最新文章

  1. 激光雷达和相机感知融合简介
  2. yshon对讲机如何调频率_99%的人都不知道对讲机的这些功能.....
  3. 常用数据绑定控件详解
  4. 离散余弦变换和C语言实现-win32版本
  5. 程序员的一个爬虫,把估值175亿的马蜂窝给捅了
  6. 测试计算机操作基础知识,计算机病毒基础知识测试
  7. 【Linux网络编程】原始套接字能干什么?
  8. AQS的细节--自用,非正常教程
  9. 使用Filter,Listener 时无法注入Bean的解决方法
  10. mysql数字辅助表_关于数字的经典SQL编程问题:数字辅助表
  11. 在DOS环境下运行汇编程序
  12. 级数 p级数 q级数 调和级数为什么叫做“调和”级数 等比数列求和公式和等差数列求和 斜率:
  13. 微位科技李子阳:哈耶克—未来的价值单位
  14. CF 705A Hulk
  15. mysql计算同比和环比的区别_MySQL统计同比环比SQL
  16. access里面的表达式运用_ACCESS条件表达式用法
  17. matlab中工作空间的作用,MATLAB的工作空间
  18. DiscuzX2.5,X3.0,X3.1,X3.2完整目录结构【模板目录template】
  19. Android常用面试题大全
  20. @Value 读取yml 文件

热门文章

  1. 17章 SPI控制器(XIlinx ZYNQ-7000 SOC UG-585文档)
  2. failed building wheel for termcolor_for循环优化,List分组,多线程的写法
  3. php tcp封包,tcp调试神器:wireshark
  4. matlab hsv提取s_Matlab进阶教程 | 基于不规则已知点插值
  5. Linux / Server 端收到 SIGPIPE 信号的原因
  6. 用WT516P6Core离线语音模块在烧录和连接MCU时要注意避开的坑,要不挠掉头发也钻不出来!我差点套进去了,还好他们技术人员给力!把我给扯出来了!做了一个踩坑记录分享给大家
  7. 400W SOD-123封装 TVS管SMF4L系列 型号齐全
  8. 百度一款前端图片合成工具库MI开源啦!
  9. 网易云音乐:基于分布式图学习PGL的推荐系统优化之路
  10. python 海象运算符,Python3.8新特性-- 海象操作符