TranslateProject/sources/talk/20150709 7 command line tools for monitoring your Linux system.md
2015-07-23 17:48:02 +08:00

6.2 KiB
Raw Blame History

监控你的Linux系统的7个命令行工具

这里有一些基本的命令行工具让你能更简单地探索和操作Linux。

Image courtesy Meltys-stock

深入

关于Linux最棒的一件事之一是你能深入操作系统多深来探索它是如何工作的并寻找机会来微调性能或诊断问题。这里有一些基本的命令行工具让你能更简单地探索和操作Linux。大多数的这些命令是在你的Linux系统中已经内建的但假设它们不是就用谷歌搜索命令名和你的发行版名吧你会找到哪些包需要安装(注意,一些命令是和其它命令捆绑起来打成一个包的,你所找的包可能写的是其它的名字)。如果你知道一些你所使用的其它工具,欢迎评论。

Image courtesy Mark Gibbs

我们怎么做

须知: 本文中的截图取自Debian Linux 8.1 (“Jessie”),其运行在OS X 10.10.3 (“Yosemite”)操作系统下Oracle VirtualBox 4.3.28中的一台虚拟机里。想要建立你的Debian虚拟机可以看看我的这篇教程——“How to install Debian Linux in a VirtualBox VM”。

Image courtesy Mark Gibbs

Top

作为Linux系统监控工具中比较易用的一个top命令能带我们一览Linux中的几乎每一处。以下这张图是它的默认界面但是按“z”键可以切换不同的显示颜色。其它热键和命令则有其它的功能例如显示概要信息和内存信息(第四行第二个),根据各种不一样的条件排序、终止进程任务等等(你可以在这里找到完整的列表)。

Image courtesy Mark Gibbs

htop

相比top它的替代品Htop则更为精致。维基百科是这样描述的“用户经常会部署htop以防Unix top不能提供关于系统进程的足够信息比如说当你在尝试发现应用程序里的一个小的内存泄露问题Htop一般也能作为一个系统监听器来使用。相比top它提供了一个更方便的光标控制界面来向进程发送信号。” (想了解更多细节猛戳这里.)

Image courtesy Mark Gibbs

Vmstat

Vmstat是一款监控Linux系统性能数据的简易工具这让它在shell脚本中使用更合适。打开你的regex-fu用vmstat和cron作业来做一些激动人心的事情吧。“产出的第一份报告给出的是上一次系统重启之后的均值另外其一份报告给出的则是从前一个报告起间隔周期中的信息。进程和内存报告在任何情况下都是不停更新的”(猛戳这里获取更多信息)。

Image courtesy Mark Gibbs

ps

ps命令展现的是正在运行中的进程列表。在这种情况下我们用“-e”选项来显示每个进程也就是所有正在运行的进程了(我把列表滚动到了头部否则列名就看不到了)。这个命令有很多选项允许你去按需格式化输出。只要使用上述一点点的regex-fu你就能得到一个强大的工具了。猛戳这里获取更多信息。

Image courtesy Mark Gibbs

Pstree

Pstree“以树状图显示正在运行中的进程。如果pid被省略的话那树结构是以pid或init为父进程如果用户名指定那所有进程树都会以该用户所属的进程为父进程进行显示。”以树状图来帮你将进程之间的所属关系进行分类这的确是个很有效的工具(戳这里)。

Image courtesy Mark Gibbs

pmap

理解一个应用程序在调试过程中如何使用内存是至关重要的而pmap的作用就是当给出一个进程ID(PID)时显示出相关信息。上面的截图展示的是使用“-x”选项所产生的部分输出你也可以用pmap的“-X”选项来获取更多的细节信息但是前提是你要有个更宽的终端窗口。

Image courtesy Mark Gibbs

iostat

A crucial factor in your Linux systems performance is processor and storage usage, which are what the iostat command reports on. As with the ps command, iostat has loads of switches that allow you to select the output format you need as well as sample performance over a time period and then repeat that sampling a number of times before reporting. See here.


via: http://www.networkworld.com/article/2937219/linux/7-command-line-tools-for-monitoring-your-linux-system.html

作者:Mark Gibbs 译者:译者ID 校对:校对者ID

本文由 LCTT 原创翻译,Linux中国 荣誉推出