对于每一个系统管理员或网络管理员每天监视或调试linux系统的性能问题是一件非常困难的事,在it行业作为一个linux管理员五年之后,我开始知道监视和保持系统启动和运行有多么的困难。由于这个原因,我们编写了20条常用的命令行工具,希望对每一个linux系统管理员有用。这些命令是可利用的在所有类型的linux之下并且对监视和发现性能的实际原因是很有用的。这些列表的命令是足够的对于你选择适合你的任何一个监控场景。
1,top ---linux process monitoring
top 命令是一个性能监视程序,通常被许多系统管理员频繁使用监视linux性能并且能够使用在不同的类型的linux之下。top命令用于显示所有运行和活跃的实时进程并定期更新它。它显示了cpu使用率,内存使用率,交换内存,缓存大小,缓冲区大小,进程pid,用户,命令等等。它也展示了运行进程的高cpu利用率和内存利用率。top命令对系统管理员监视和在需要的时候采取正确的行动是非常的重要。下面让我们看看top命令。
#top
了解top的更多带参数的命令在shell中输入“man top”。
2,VmStat -- Virtual Memory Statistic
VmStat命令用来显示虚拟内存, 内核线程, 磁盘, 系统进程, 输入输出块, 中断, 活动的cpu 等等.默认的VmStat命令是不能直接被直接使用的,在linux系统下你必须安装一个名叫sysstat的包,这个包包含Vmstat命令。这个命令的使用如下。
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free inact active si so bi bo in cs us sy id wa st 1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0
了解VmStat的更多命令请在shell中输入“man vmstat”。
3, Lsof – List Open Files
Lsof命令用来显示所有打开的文件和进程的一个列表。打开的文件包括磁盘文件, 网络套接字, 管道, 设备 和 进程。使用这个命令的主要原因之一是当文件系统不能被卸载或者文件出现一个错误是文件正在被使用或打开。使用这个命令你能够很容易的找到那个文件正在被使用。这个命令的使用格式如下。
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAMEinit 1 root cwd DIR 104,2 4096 2 /init 1 root rtd DIR 104,2 4096 2 /init 1 root txt REG 104,2 38652 17710339 /sbin/initinit 1 root mem REG 104,2 129900 196453 /lib/ld-2.5.soinit 1 root mem REG 104,2 1693812 196454 /lib/libc-2.5.soinit 1 root mem REG 104,2 20668 196479 /lib/libdl-2.5.soinit 1 root mem REG 104,2 245376 196419 /lib/libsepol.so.1init 1 root mem REG 104,2 93508 196431 /lib/libselinux.so.1init 1 root 10u FIFO 0,17 953 /dev/initctl 了解更多的Lsof命令请直接打开shell输入“man lsof”
4,Tcpdump -- Network Packet Analyzer
Tcpdump 是一个被广泛使用的命令行工具,network packet analyzer(网络包分析) 或packets sniffer(包嗅探) 命令 被用来 capture(捕获) or filter(过滤) 接受或传输在连接网络上的接口上的 TCP/IP 包,它也提供一个选项来保存捕获的包在一个文件中之后进行分析。 tcpdump 也是有用的在分布的不同类型的linux中。tcpdump的使用如下。
# tcpdump -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 964822:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 964822:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347
5,Netstat -- Network Statistics
Netstat 是一个监视输入和输出网络包统计的命令行工具,它是非常的有用对于每一个系统管理员监视网络性能和 网络连接故障问题。使用方法如下。
# netstat -a | more
Active Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 *:mysql *:* LISTENtcp 0 0 *:sunrpc *:* LISTENtcp 0 0 *:realm-rusd *:* LISTENtcp 0 0 *:ftp *:* LISTENtcp 0 0 localhost.localdomain:ipp *:* LISTENtcp 0 0 localhost.localdomain:smtp *:* LISTENtcp 0 0 localhost.localdomain:smtp localhost.localdomain:42709 TIME_WAITtcp 0 0 localhost.localdomain:smtp localhost.localdomain:42710 TIME_WAITtcp 0 0 *:http *:* LISTENtcp 0 0 *:ssh *:* LISTENtcp 0 0 *:https *:* LISTEN
netstat 的更多使用方法见“man netstat”。
6,Htop – Linux Process Monitoring
Htop 是一个更先进的交互和实时进程监控工具。这和linux的top命令更相似但是Htop有更丰富的界面就像用户友好的界面管理进程,快捷键,水平和垂直的视图浏览进程等等。Htop是一个三部分的工具默认情况下没有包含。你必须安装它使用YUM包管理工具。
# htop
7,Iotop -- Monitor Linux Disk I/O
Iotop 也和top,htop命令相似, 但是它能监视和显示实时的磁盘I/O信息和进程信息。这个工具更有用对于查找而外的进程和高使用磁盘读写进程。
# iotop
8,Iostat – Input/Output Statistics
IoStat 是一个简单的收集和显示输入输出存储设备的统计信息的工具。这个工具被用来追This to踪存储设备性能问题包括 devices(设备), local disks(本地磁盘), remote disks(远程磁盘) such as NFS(网络存储文件)。
# iostat
Linux 2.6.18-238.9.1.el5 09/13/2012avg-cpu: %user %nice %system %iowait %steal %idle 2.60 3.65 1.04 4.29 0.00 88.42Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtncciss/c0d0 17.79 545.80 256.52 855159769 401914750cciss/c0d0p1 0.00 0.00 0.00 5459 3518cciss/c0d0p2 16.45 533.97 245.18 836631746 384153384cciss/c0d0p3 0.63 5.58 3.97 8737650 6215544cciss/c0d0p4 0.00 0.00 0.00 8 0cciss/c0d0p5 0.63 3.79 5.03 5936778 7882528cciss/c0d0p6 0.08 2.46 2.34 3847771 36597769. IPTraf – Real Time IP LAN Monitoring
IPTraf 是一个开源的基于console的实时网络监视工具,它收集了不同种类的信息例如通过网络的ip交通监视。包括tcp flag信息,icmp信息,tcp/udp交通故障,tcp连接包和字节统计。它还收集接口的统计TCP、UDP、IP、ICMP、非IP,IP校验和错误,界面活动的信息等。
10,Psacct or Acct -- Monitor User Activity
psacct or acct tools 是非常的有用对于监视每一个用户的活动, 这两个守护进程在后台运行并保持密切关注系统上的每个用户的整体活动有什么资源被消耗。
这些工具是非常有用的对系统管理员追踪每个用户的活动例如用户正在做什么,他们发布了什么命令,他们在使用多少资源,他们使用系统多久了等等。
今天就翻译到这里,后面的10个下次在翻译。初次翻译博客希望大家多多指教。欢迎大家指点。
最后注明原文出处: