linux上常用的命令
netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。tcpdump命令用于监视TCP/IP连接并直接读取数据链路层的数据包头。 ipcs命令往标准输出写入一些关于活动进程间通信设施的信息。ipcrm 命令删除一个或更多的消息队列、信号量集或者共享内存标识。
网络相关和进程活动相关
netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。
tcpdump命令用于监视TCP/IP连接并直接读取数据链路层的数据包头。
ipcs命令往标准输出写入一些关于活动进程间通信设施的信息。
ipcrm 命令删除一个或更多的消息队列、信号量集或者共享内存标识。
系统性能相关调试命令
uptime
我们可以使用uptime命令来监视Linux系统性能和状态,这是一种非常有效的简单方法。uptime命令会显示在一定时间间隔内系统运行队列中进程的信息。通过这些信息可以大致地分析系统的工作负载。所以当系统性能下降时,首先应使用uptime命令来观察系统运行队列中进程的情况。
$uptime
2:07pmup 11 days,4:54, 9 users, load average: 1.90, 1.98, 2.01
在上面显示内容其中有用的信息是三个负载的平均值:1.90、1.98和2.01分别是前1分钟、5分钟和15分钟内的负载平均值。
系统管理员需要定期运行uptime命令以观察系统的平均负载值及其变化趋势。系统的问题往往通过上述数据反映出来。当系统负载增大时,说明多条命令被阻塞在内存和I/O系统中。这时需要检查系统的有关信息。一般Linux系统,负载为2和3表示轻载,5和6表示中等程度负载,10以上为过载。不同系统的划分标准是不同的。系统管理员应根据实际情况确定自己系统中划分轻载和过载的界限。
free
使用free命令可以查看系统中内存空间的大小。内存是以KB为单位来衡量的。例如用户可以用free命令来获取系统内存空间的大小信息,命令如下:
$free
Total used frdd shared buffers cached
Mem: 95772 86748 9024 54480 5796 36164
-/+buffers/cache: 44788 50984
Swap: 136512 7000 129512
在上面显示内容中,Mem行中的total栏显示了当前Linux正在使用的RAM总量。used栏显示的是被占用的内存空间,但Mem行与这一栏结合并不能产生最好的分析结果,因为其中包含了Linux分配给磁盘缓冲区的一部分分区。在大多数系统中,used栏显示的值和total栏的值相当。然而,我们可以核对used栏、-/+buffers/cache行对应的值来查看有多少内存处于使用状态(used栏、Swap栏对应的数值)。这一部分是作为内存来用的磁盘,而磁盘速度比内存慢,所以最好优先使用物理内存,交换内存则较少使用。
top
在本书第三章我们已经介绍过了top命令,它可以动态实时的察看系统性能,分析CPU、内存的使用资源以及相关进程的信息等。关于top命令的具体的使用方法和命令参数这里就不再谈及了,如果读者还不了解,请参看第三章“3.5.6 top 命令”小节的内容。
top会显示系统现在的负载情况,如下所示:
#top
2:58pm up 3:40, 1 user, load average: 0.00, 0.01, 0.00
37processes: 35sleeping, 2 running, 0 zombie, 0 stopped
CPUstates: 5.6% user, 1.6% system, 0.0% nice, 92.8%idle
Mem:190776Kav,183588Kused,7188K free,0K shrd, 80180K buff
Swap:385520K av,1476Kused, 384044K free 65096K cached
PIDUSER PRI NI SIZE RSS SHARE STAT %CPU %MEMTIME COMMAND
6root 10 0 0 0 0 SW 0.5 1.70:18 find
9root 9 0 1036 1036 860 R 0.3 0.4 0:00 top
1root 8 0 100 84 52 S 0.0 0.0 0:03 init
2root 9 0 0 0 0 SW 0.0 0.0 0:00 kevent
3root 9 0 0 0 0 SW 0.0 0.0 0:00 kapmd
5root 9 0 0 0 0 SW 0.0 0.0 0:00 kswapd
7root 9 0 0 0 0 SW 0.0 0.0 0:00 bdflus
8root 9 0 0 0 0 SW 0.0 0.0 0:00 kdated
9root -1 -20 0 0 0 SW< 0.0 0.0 0:00 telnet
top显示的系统信息包括运行时间、进程的数量和状态、CPU周期的百分比和每个进程占用的存储空间、每个进程运行的时间,以及大量的其它信息。进程是按使用资源的多少来排列的,显示每5秒钟自动更新一次。在显示过程中,也可以按下空格键手动更新显示。在查找并解决系统性能故障时,这些信息是相当有用的。
在上面显示的信息中,大家可以看到显示的系统情况,运行中的进程有正在使用的top程序,它使用了0.3%的CPU和0.4%的存储空间;还有 find 进程使用了0.5%的CPU和1.7%的存储空间。而其它进程要么处于睡眠状态(S),要么处于睡眠并被换出状态(SW)。
vmstat
vmstat是Virtual MeomoryStatistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监视。它对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。
vmstat 命令我们也曾在本书第三章简单提及过,现在让我们详细了解一下它。
vmstat的语法为: vmstat [-V] [-n][delay [count]]
其中,-V表示打印出版本信息;-n表示在周期性循环输出时,输出的头部信息仅显示一次;delay是两次输出之间的延迟时间;count是指按照这个时间间隔统计的次数。对于vmstat输出各字段的含义,可运行man vmstat查看。
当我们运行vmstat命令后,显示结果如下:
$vmstat
procs memory swap io system cpu
rb w swpd free buff cache si so bi bo in cs ussy id
00 0 1460 7768 79864 65040 0 0 12 10 103 25 1 0 98
更多推荐
所有评论(0)