日期:2014-05-16  浏览次数:20738 次

Linux常用的20个工具

要监控服务器的运行状况? 尝试一些内建的命令行与少量的外围工具吧。 许多 Linux 发行版都预置了许多监控工具。这些工具提供系统活动可量化的信息量度。 你可以使用这些工具来查找可能导致运行问题的原因。以下将要讨论的这些工具是最基本的系统命令, 当在要进行系统分析和服务器问题调试,例如:

  1. 查找瓶颈。
  2. 磁盘(存储)瓶颈。
  3. CPU 与内存瓶颈。
  4. 网络瓶颈。


#1: top - 活动进程命令

top命令提供一个实时的动态更新的系统运行视图,例如, 实时活动进程。 默认, 它将显示服务器上运行的占用最多CPU线程的进程,并每隔5分钟刷新一次。

Fig.01: Linux top command

图.01: Linux top 命令

常用热键

top命令提花几个有用的热键:

热键用法
t 开关显示摘要信息。
m 开关显示内存信息。
A 对最高的系统资源开销进行排序显示。在快速鉴定性能饥渴的系统任务上很有效。
f 进入top的交互配置屏幕。 在为特别的任务配置 top时很有效。
o 允许交互式选择top组合。
r 改变优先权问题命令。
k 杀死进程问题命令。
z 开关彩色/单色。


=> 相关阅读: How do I Find Out Linux CPU Utilization?

#2: vmstat - 系统活动, 硬件与系统信息

vmstat 命令报告进程,内存,页面,IO中断,磁带与CPU活跃度的信息。
# vmstat 3
输出示例:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 2540988 522188 5130400    0    0     2    32    4    2  4  1 96  0  0
 1  0      0 2540988 522188 5130400    0    0     0   720 1199  665  1  0 99  0  0
 0  0      0 2540956 522188 5130400    0    0     0     0 1151 1569  4  1 95  0  0
 0  0      0 2540956 522188 5130500    0    0     0     6 1117  439  1  0 99  0  0
 0  0      0 2540940 522188 5130512    0    0     0   536 1189  932  1  0 98  0  0
 0  0      0 2538444 522188 5130588    0    0     0     0 1187 1417  4  1 96  0  0
 0  0      0 2490060 522188 5130640    0    0     0    18 1253 1123  5  1 94  0  0

显示内存使用池信息

# vmstat -m

猎取活动 / 休眠的内存页面信息

# vmstat -a
=> 相关阅读: How do I find out Linux Resource utilization to detect system bottlenecks?

#3: w - 查看谁登录并做了什么

w 命令显示了此计算机上当前登录的用户及他们的进程的信息。
# w username
# w vivek

输出示例:

 17:58:47 up 5 days, 20:28,  2 users,  load average: 0.36, 0.26, 0.24
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.1.3.145       14:55    5.00s  0.04s  0.02s vim /etc/resolv.conf
root     pts/1    10.1.3.145       17:43    0.00s  0.03s  0.00s w

#4: uptime - 告诉你系统运行了多长时间

uptime 命令可以查看服务器运行了多长的时间。 当前时间, 系统运行了多久, 多少个用户已登录, 和在过去的每1,5与15分内系统平均装载。
# uptime
输出:

 18:02:41 up 41 days, 23:42,  1 user,  load average: 0.00, 0.00, 0.00

1 被认可为最佳的装载值。 每个系统的装载都不一样。在单 CPU 系统 1 - 3 和 多CPU系统 6-10 装载值也是可接受的。

#5: ps - 显示进程

ps 会报告当前进程的截图。 选择所有进程用 -A 或 -e 选项:
# ps -A
输出示例:

  PID TTY          TIME CMD
    1 ?        00:00:02 init
    2 ?        00:00:02 migration/0
    3 ?        00:00:01 ksoftirqd/0
    4 ?        00:00:00 watchdog/0
    5 ?        00:00:00 migration/1
    6 ?        00:00:15 ksoftirqd/1
....
.....
 4881 ?        00:53:28 java
 4885 tty1     00:00:00 mingetty
 4886 tty2     00:00:00 mingetty
 4887 tty3     00:00:00 mingetty
 4888 tty4     00:00:00 mingetty
 4891 tty5     00:00:00 mingetty
 4892 tty6     00:00:00 mingetty
 4893 ttyS1    00:00:00 agetty
12853 ?        00:00:00 cifsoplockd
12854 ?        00:00:00 cifsdnotifyd
14231 ?        00:10:34 lighttpd
14232 ?        00:00:00 php-cgi
54981 pts/0    00:00:00 vim
55465 ?        00:00:00 php-cgi
55546 ?        00:00:00 bind9-snmp-stat
55704 pts/1    00:00:00 ps