Unix平台下的常用命令技巧之五 资源与性能

  • Post author:
  • Post category:其他




Unix平台下的常用命令技巧之五


资源与性能


李守亮

slli@founder.com.cn


LastVersion 2003-03-10




简述


本节介绍了一些查看系统信息和监测系统资源与性能的工具,使用性能监测工具对当前系统有一个基本的了解,并根据收集到的信息选择其他相应的工具,进一步分离出性能瓶颈和寻找解决办法。本节根据查看系统信息、磁盘使用和I/O监测、CPU和内存监测、网络监测进行分类,介绍几种性能监测工具和监测手段,供大家在日常工作中选择参考。




目录



一、系统信息查看






1、


查看系统版本号的几个命令


2、如何在Solaris下获取内存大小


3、如何在Solaris下获取CPU速率




二、磁盘使用和I/O监测


1、


检查磁盘使用状况工具df、du


2、


iostat 监视磁盘命令




三、CPU和内存使用监测


1、


用vmstat监测CPU和内存,vmstat列出的属性详解


2、


prstat给出CPU和内存使用情况的动态注解


3、mpstat命令报告每个处理器的统计信息


4、proc工具报告某单独进程属性





5、pmap命令报告单独进程的内存空间布局情况





6、使用ps命令获取进程的内存、CPU利用状况及排序





7、uptime和w命令查看过去15分钟内系统的负载情况





8、使用top工具监测性能





9、如何增加交换空间









四、检查网络性能工具




1、


snoop诊断网络报文工具


2、nfsstat监测NFS系统


3、netstat监测网络接口


4、Solaris下如何知道哪个进程使用了哪个端口


5、ping 诊断网络连接和阻塞问题


6、ipcs显示与内部进程通信有关的统计信息


7、traceroute显示路由到目的地主机的报文,诊断网络拥堵


8、route get ip获取通过的网关






内容



一、系统信息查看


========================================================================


1、查看系统版本号的几个命令



1)


看版本号


# uname -a


SunOS sunserver1 5.8 Generic_108528-13 sun4u sparc SUNW,Sun-Fire-280R



2)看kernel版本号


# showrev


Hostname: sunserver1


Hostid: 8318005d


Release: 5.8


Kernel architecture: sun4u


Application architecture: sparc


Hardware provider: Sun_Microsystems


Domain:


Kernel version: SunOS 5.8 Generic 108528-19 January 2003


相关命令:


#hostid


#hostname



3)看安装的补丁id


#showrev





p



4)看是否安装了某个补丁


#pkginfo |grep XXXXX


========================================================================


2、如何在Solaris下获取内存大小



有以下几个命令供参考:


/usr/platform/`uname -m`/sbin/prtdiag -v | grep Memory


prtconf -v | grep Memory


如果装了GNU top,也可以直接用top命令看到。


========================================================================


3、如何在Solaris下获取CPU速率



有以下几个命令供参考:


# psrinfo -v


# psrinfo | grep on-line | wc -l 简单给出CPU数目


# /usr/platform/`uname -i`/sbin/prtdiag -v


# /usr/platform/`uname -m`/sbin/prtdiag -v


# /usr/bin/netstat -k cpu_info0


========================================================================





二、磁盘使用和I/O监测


========================================================================


1、检查磁盘使用状况工具df、du


df列出文件系统的块大小,及使用情况


# df


/


(/dev/dsk/c0t0d0s0 ):


745246 块


667064 文件


/proc


(/proc


):


0 块


7816 文件


/dev/fd


(fd


):


0 块


0 文件


/etc/mnttab


(mnttab


):


0 块


0 文件


/var/run


(swap


): 1227264 块


54271 文件


/tmp


(swap


): 1227264 块


54271 文件


/space


(/dev/dsk/c0t0d0s3 ): 2023574 块


1470851 文件



df





k以字节列出系统使用情况


# df -k


文件系统


千字节


用了


可用 容量


挂接在


/dev/dsk/c0t0d0s0


6191949 5819326


310704


95%


/


/proc


0


0


0


0%


/proc


fd


0


0


0


0%


/dev/fd


mnttab


0


0


0


0%


/etc/mnttab


swap


488768


0


488768


0%


/var/run


swap


490240


1472


488768


1%


/tmp


/dev/dsk/c0t0d0s3


12530787 11518984


886496


93%


/space



列出某一目录所在的设备使用情况


# df -k /slli


文件系统


千字节


用了


可用 容量


挂接在


/dev/dsk/c0t0d0s0


6191949 5819326


310704


95%


/



du列出某一目录的使用大小


# du -s /export/home


852690


/export/home



# du -ks /export/home


426345


/export/home



列出某一目录下所有子目录及文件的大小


# du /opt


8


/opt/SUNWebnfs/JFileChooser-patch/com/sun/java/swing/plaf/windo


10


/opt/SUNWebnfs/JFileChooser-patch/com/sun/java/swing/plaf


12


/opt/SUNWebnfs/JFileChooser-patch/com/sun/java/swing


14


/opt/SUNWebnfs/JFileChooser-patch/com/sun/java


16


/opt/SUNWebnfs/JFileChooser-patch/com/sun


18




/opt/SUNWebnfs/JFileChooser-patch/com












========================================================================


2、


iostat 监视磁盘命令



iostat命令报告磁盘的使用情况。表格中的每一行代表一个磁盘的活动信息。常用的选项有这些:




参数n





按cXtYdZ格式指定磁盘。


# iostat -n 2




tty


c0t0d0


fd0


c0t2d0


cpu




tin tout kps tps serv


kps tps serv


kps tps serv


us sy wt id




0


16 476


23


7


0


0


0


0


0


0


2


2 10 86




0


97 170


22


11


0


0


0


0


0


0


0


3


0 97




0


33


24


3


1


0


0


0


0


0


0


0


0


0 100




0


34


12


2


1


0


0


0


0


0


0


0


0


0 100




0


34


0


0


0


0


0


0


0


0


0


0


0


0 100




参数x





报告扩展统计信息。


# iostat -x




extended device statistics


device


r/s


w/s


kr/s


kw/s wait actv


svc_t


%w


%b


dad0


21.2


1.4


465.4


10.9


0.0


0.1


6.5


0


12


fd0


0.0


0.0


0.0


0.0


0.0


0.0


0.0


0


0


sd0


0.0


0.0


0.0


0.0


0.0


0.0


0.0


0


0




参数z





这个选项在Solaris 8操作环境中是新的。它使得在采样间隔中没有磁盘活动的那些行被省略掉,这样可以让输出简短一些并且突出那些有活动的磁盘。


# iostat -z 2




tty


dad0


fd0


sd0


cpu




tin tout kps tps serv


kps tps serv


kps tps serv


us sy wt id




0


16 476


23


7


0


0


0


0


0


0


2


2 10 86




0


97


12


1


7


0


0


0


0


0


0


0


0


0 100






参数p和P



报告分区前(per-partition)的I/O统计信息,当察看内存交换设备的时候有用。


# iostat -p 2




tty


dad0




dad0,a


dad0,b


dad0,c


cpu




tin tout kps tps serv


kps tps serv


kps tps serv


kps tps serv


us sy wt id




0


16 476


23


7


1


0


28


0


0


27


0


0


0


2


2 10 86




0


117


12


1


1


0


0


0


0


0




0


0


0


0


0


0


0 100




参数E





对于找出产生错误的磁盘有用。


# iostat -nE


c0t0d0


Soft Errors: 0 Hard Errors: 0 Transport Errors: 0


Model: ST320011A


Revision: 3.19


Serial No: 3HT3XQ9X


Size: 20.02GB <20019879936 bytes>


Media Error: 0 Device Not Ready: 0


No Device: 0 Recoverable: 0


Illegal Request: 0


c0t2d0


Soft Errors: 0 Hard Errors: 2 Transport Errors: 0


Vendor: LG


Product: CD-ROM CRD-8483B Revision: 1.02 Serial No:


Size: 18446744073.71GB <-1 bytes>


Media Error: 0 Device Not Ready: 2 No Device: 0 Recoverable: 0


Illegal Request: 0 Predictive Failure Analysis: 0




此外,对于磁盘镜像,可能也会影响到一些I/O性能。


========================================================================





三、CPU和内存使用监测


========================================================================


1、用vmstat监测CPU和内存,vmstat列出的是些什么属性?



# vmstat 2




procs


memory




page


disk


faults


cpu




r b w


swap


free


re


mf pi po fr de sr 1m 1m 1m 2m


in


sy


cs us sy id




0 0 0 5235888 387408 20 135 10 2


1


0


0


0


0


0


0


170


599


286


0


2 98




0 0 0 5192424 506360 2


4


0


0


0


0


0


0


0


0


0


152


67


173


0


0 100




0 0 0 5192424 506360 0


0


0


0


0


0


0


0


0


0


0


149


138


175


0


0 99




0 0 0 5192424 506360 0


0


0


0


0


0


0


0


0


0


0


131


36


146


0


0 100




0 0 0 5192424 506360 0


0


0


0


0


0


0


0


0


0


0


156




45


161


0


0 100




0 0 0 5192424 506360 0


0


0


0


0


0


0


0


0


0


0


157


101


172


0


0 100



vmstat各项:


procs:


r–>在运行队列中等待的进程数


b–>在等待io的进程数


w–>可以进入运行队列但被替换的进程


memoy


swap–>现时可用的交换内存(k表示)


free–>空闲的内存(k表示)


pages


re--》回收的页面


mf--》非严重错误的页面


pi--》进入页面数(k表示)


po--》出页面数(k表示)


fr--》空余的页面数(k表示)


de--》提前读入的页面中的未命中数


sr--》通过时钟算法扫描的页面


disk 显示每秒的磁盘操作。 s表示scsi盘,0表示盘号


fault 显示每秒的中断数


in--》设备中断


sy--》系统中断


cy--》cpu交换


cpu 表示cpu的使用状态


cs--》用户进程使用的时间


sy--》系统进程使用的时间


id--》cpu空闲的时间


如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。


如果pi,po 长期不等于0,表示内存不足。


如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。




CPU能力不足的例子。


# vmstat 15


procs


memory


page


disk


faults


cpu


r b w swap free re mf pi po fr de sr m0 m1 m2 m3 in sy cs us sy id


45 0 0 2887216 182104 3 707 449 6 455 0 80 2 6 1 0 1531 5797 983 61 30 9


58 0 0 2831312 46408 5 983 582 56 3211 0 492 0 0 0 0 1413 4797 1027 69 31 0


55 0 0 2830944 56064 2 649 656 3 806 0 121 0 0 0 0 1441 4627 989 69 31 0


57 0 0 2827704 48760 4 818 723 6 800 0 121 0 0 1 0 1606 4316 1160 66 34 0


56 0 0 2824712 47512 6 857 604 56 1736 0 261 0 0 1 0 1584 4939 1086 68 32 0


58 0 0 2813400 47056 7 856 673 33 2374 0 355 0 0 0 0 1676 5112 1114 70 30 0


60 1 0 2816712 49464 7 861 720 6 731 0 110 7 0 3 0 2329 6131 1067 64 36 0


58 0 0 2817552 48392 4 585 521 0 996 0 146 0 0 0 0 1357 6724 1059 71 29 0



在”procs”下面标着”r”的一列是等待获得CPU的进程运行队列中的进程数。”id”列是CPU空闲时间。这台机器没有足够的CPU资源以满足进程运行的需要,这可以从它的大部分CPU时间花在用户空间里看出来(看”us”列)。



这种情况解决办法,增加更多的CPU,或者,配合使用其他相关工具查出资源耗费较多的进程,对应用程序的代码作性能分析,看是否可以优化。



vmstat中的”fr”列确实反映了空闲并且没有被页面缓存所使用的内存。使用-p选项,给出更准确的页面调度行为细节。



为了确定是否有内存不足的情况存在,同时检查 (“sr”,也就是扫描率)和交换分区的磁盘I/O流量(用iostat -P)。如果大量的I/O活动由文件系统产生并且需要运行页面扫描程序为I/O释放页面,”sr”列会有比较大的数值。



保存如何正常运转的样例。这样可以很容易地收集和保存每月的性能数据进行比较,如 vmstat, mpstat, iostat



========================================================================


2、prstat给出CPU和内存使用情况的一个动态注解



示例:


#prstat -cvm的输出结果非常有用。



========================================================================


3、mpstat命令报告每个处理器的统计信息



mpstat命令报告每个处理器的统计信息,表格中的每一行代表一个处理器的活动情况。


#


mpstat 5


CPU minf mjf xcal


intr ithr


csw icsw migr smtx


srw syscl


usr sys


wt idl




0


3


19


0


451


327


300


11


0


0


0


322


2


2


10


86




0


1


0


0


405


303


258


3


0


0


0


176


0


0


0 100




0


0 134


0


711


456


559


21


0


0


0


622


9


8


34


49




0


2


28


0


644


434


703


143


0


0


0


1392


28


12


15


45




0


0


23


0


624


412


478


35


0


0


0


941


10


18


14


57





mpstat可以确定每一个CPU都在花时间做什么:比如,分配给系统、用户、等待、空闲时间、系统调用、锁竞争、中断、错误、交叉调用。


mpstat的”wt”列表明等待时间过多。 用户任务花时间太长。 作为你积极的维护计划的一部分,检查/var/adm/messages中有没有比如磁盘重试之类的硬件问题或者有没有额外的消息产生也是很有价值的。



大百科CPU 100%案例:


大百科SUN系统经常报CPU 100%,CPU占用最高的进程有时竟然是一些僵尸进程,杀掉后CPU立刻降下来,在/var/adm/messages中疯狂报如下信息:


Mar  3 16:45:15 dbksvr unix: [ID 340762 kern.notice] from Memory Module 1901

Mar  3 16:45:15 dbksvr unix: [ID 221138 kern.notice]  CONSIDER REPLACING THE MEMORY MODULE.

Mar  3 16:45:15 dbksvr unix: [ID 547813 kern.notice] Multiple Softerrors:

Mar  3 16:45:15 dbksvr unix: [ID 356634 kern.notice] 256 Intermittent, 0 Persistent, and 0 Sticky Softerrors accumulated


怀疑时硬件内存条问题,当事务量小时,内存用不到这条有问题的,当事务量大时,开始使用此有问题的内存造成死锁,


CPU


高居


100%.




========================================================================


4、proc工具报告进程属性



proc是一个利用/proc的特性来报告比如这样一些进程属性的实用工具:


1)pstack -调用栈


2)pfiles -打开的文件描述符列表


3)pldd -正在运行中的进程使用的动态链接库的列表




示例:


#ps -ef


root


1838


1


0


3月 03 ?


0:00 /usr/sbin/syslogd


root


1479


1


0


3月 03 ?


0:01 ocfserv












# pstack 1838


1838:


/usr/sbin/syslogd


—————–


lwp# 1 / thread# 12


——————–




ff217ac8 poll


(ff03bd0c, 1, ffffffff)






ff15b35c poll


(c, ff174780, 1, 2a8c8, 2b164, fe401000) + 34






ff15bc08 _thread_start (0, 0, 0, 0, 0, 0) + 40


—————–


lwp# 2 / thread# 2


——————–












# ptree 1838


1933


/usr/dt/bin/dtlogin -daemon




6359


/usr/dt/bin/dtlogin -daemon




6380


/bin/ksh /usr/dt/bin/Xsession


6390




/usr/openwin/bin/fbconsole












# pfiles 1838


1838:


/usr/sbin/syslogd




Current rlimit: 1024 file descriptors




0: S_IFCHR mode:0600 dev:136,0 ino:749016 uid:0 gid:3 rdev:97,0




O_WRONLY|O_APPEND




1: S_IFCHR mode:0666 dev:136,0 ino:749009 uid:0 gid:3 rdev:13,2




O_RDONLY|O_LARGEFILE
















# pldd 1838


1838:


/usr/sbin/syslogd


/usr/lib/libnsl.so.1


/usr/lib/libpthread.so.1


/usr/lib/libdoor.so.1


/usr/lib/libc.so.1












========================================================================


5、pmap命令报告单独进程的内存空间布局情况



对于单独的进程,pmap命令报告单独进程的内存空间布局情况(-x选项比较有用)。


示例:


#ps





ef|grep httpd




root


1158


1


0


3月 03 ?


0:00 /opt/IBMHTTPD/bin/httpd




daemon


1064


1063


0


3月 03 ?


0:00 /usr/lib/ab2/dweb/sunos5


tpd /usr/lib/ab2/dweb/data




nobody


1704


1158


0


3月 03 ?


0:00 /opt/IBMHTTPD/bin/httpd




nobody


1705


1158


0


3月 03 ?


0:00 /opt/IBMHTTPD/bin/httpd












#pmap





x 1710


1710:


/opt/IBMHTTPD/bin/httpd


00010000


584K read/exec


/opt/IBMHTTPD/bin/httpd


000B0000


40K read/write/exec


/opt/IBMHTTPD/bin/httpd


000BA000


208K read/write/exec


[ heap ]


FECA0000


24K read/exec


/usr/lib/nss_files.so.1


FECB6000


8K read/write/exec


/usr/lib/nss_files.so.1


FECC0000


368K read/write/shared


[ anon ]


FED20000


136K read/exec


/opt/WebSphere/AppServer/bin/libascommon.so











========================================================================


6、使用ps命令获取进程的内存、CPU利用状况及排序



ps命令显示正在运行进程某一时刻的相关数据,使用ps命令获取进程的内存、CPU利用状况。用这些命令可以看到使用CPU和内存最多的进程:



1)# ps -eo pid,pcpu,args | sort +1n


CPU百分比



2)# ps -eo pid,vsz,args | sort +1n


K字节的虚拟内存



3)# /usr/ucb/ps -aux |more


# /usr/ucb/ps -aux | head


输出被排序,使用CPU和内存最多的进程排在上面。



注意:/usr/bin/ps和/usr/ucb/ps时两个不同的工具。


/usr/ucb/ps中,stat列显示了各进程的状态:


R


进程可运行


s


睡眠,不可中断


S


睡眠


I


空闲


T


停挂


H


挂起


W


被换出到磁盘上


?




进程超过了内存的软限制


+


带有一个控制端的进程领导者


N


进程在优先级降低的情况下运行


<


进程在优先级升高情况下运行


========================================================================


7、uptime和w命令查看过去15分钟内系统的负载情况



uptime 可以很开的制导系统一运行了多长时间,以及在过去15分钟内系统的负载情况。W命令(谁在系统中)和uptime相似,第一行给出了uptime的信息,后面给出用户信息。


示例:


# uptime




下午 2点54分


运行 7 天 16 分钟


7 users,


平均负载:0.02, 0.06, 0.06



# w




下午 2点54分


运行 7 天 16 分钟


7 users,


平均负载:0.02, 0.06, 0.06


用户名


终端号


登入时间


闲置


JCPU


PCPU


执行命令


root


console


周五上午10点 3天


3:11


27


/usr/dt/bin/dtexec


root


pts/11


周五上午11点 3天


-sh


root


pts/13


周五上午11点 3天


-sh


root


pts/15


下午 1点21分


1:07


telnet 162.105.183.8


root


pts/12


周二上午11点


9


13:00


tcsh



========================================================================


8、使用top工具监测性能



top是第三方软件,需要另外安装,Solaris 8的top安装版本在sunserver1的/SoftWare下。top列出消耗CPU最多的15个进程,并不断更新。



1)top命令有几个参数选项,仅介绍以下几种,其他的请参考文档:


I


不显示空闲进程


d count


更新结果count次退出,缺省无限大,ctl+c或ctl+d退出


d time


连续两次刷新时间间隔,缺省5秒


U username


只显示属于用户username的进程



示例:


# top


列出消耗CPU最多的15个所有进程



# top -I


last pid:


8671;


load averages:


0.02,


0.02,


0.03




17:28:1


112 processes: 108 sleeping, 2 zombie, 1 stopped, 1 on cpu


CPU states: 99.8% idle,


0.0% user,


0.2% kernel,


0.0% iowait,


0.0% swap


Memory: 512M real, 162M free, 274M swap in use, 599M swap free





PID USERNAME THR PRI NICE


SIZE


RES STATE




TIME


CPU COMMAND




8671 root


1


59


0 2624K 1656K cpu


0:00


0.27% top




6358 root


1


59


0


30M


21M sleep


7:42


0.03% Xsun




8670 oracle


1


59


0


105M


80M sleep


0:00


0.03% oracle




8669 oracle


4


59


0 9536K 5496K sleep


0:00


0.02% sqlplus




1270 root


13


58


0


39M


17M sleep


2:04


0.02% java






# top -U oracle


last pid:


8673;


load averages:


0.02,


0.02,


0.03


17:29:40


112 processes: 108 sleeping, 2 zombie, 1 stopped, 1 on cpu


CPU states: 99.8% idle,


0.0% user,


0.2% kernel,


0.0% iowait,


0.0% swap


Memory: 512M real, 162M free, 274M swap in use, 599M swap free





PID USERNAME THR PRI NICE


SIZE


RES STATE


TIME


CPU COMMAND




2294 oracle


1


48


0


105M


78M sleep


0:09


0.00% oracle




2306 oracle


1


52


0


12M 6664K sleep


0:07


0.00% tnslsnr




2292 oracle


11


59


0


107M


76M sleep


0:06


0.00% oracle




8425 oracle


11


58


0


108M


84M sleep


0:01


0.00% oracle




2288 oracle


29


59


0


108M


77M sleep


0:01


0.00% oracle











仅列出oracle用户的进程



2)和top一起使用交互命令


d


改变显示数,如开始使用top





d 命令显示,按d可以改变显示数


n


改变显示的进程数


s


改变刷新的时间间隔


k


杀掉指定的PID


I或i


切换是否显示空闲进程


========================================================================


9、 如何增加交换空间



安装完系统后无法改变分区大小,但是可以增加/删除交换文件,效果类似交换分区。下列命令在根目录下创建一个500MB的交换文件,名为swapfile


# mkfile 500m /swapfile



使之生效


# swap -a /swapfile


现在你有了额外的500MB交换空间,为了每次重启后依旧有效,编辑/etc/vfstab文件,增加如下行


/swapfile – – swap – no







# swap -l


这里”-l”意味着”list”,显示所有交换空间。仔细阅读”swap”和”mkfile”的手册页。



========================================================================







四、检查网络性能工具


========================================================================


1、snoop诊断网络报文工具



snoop捕获并显示诊断网络问题发出的网络报文


示例:


# snoop


# snoop





r |grep 162.105.183.49


此命令锁定某一ip传输过来的所有网络报文,可以捕获输入和回显,甚至口令的明码,很恐怖吧:)


========================================================================


2、nfsstat监测NFS系统



nfsstat显示了客户机和服务器的NFS统计信息,包括超时、重传、等待错误及有关cache命中和失效的信息。可以判断是否是NFS造成网络性能下降。


示例:


# nfsstat |more



参见nfsstat的帮助文档和参数。


========================================================================


3、netstat监测网络接口



1)# netstat





a


显示关于internet协议套接字状态的统计结果



2)# netstat





i 2


显示关于网络接口的统计结果,此命令很重要。2为间隔时间参数,可调。


# netstat -i 2




input


lo0:1


output


input


(Total)


output


packets errs


packets errs


colls


packets errs


packets errs


colls


0


0


0


0


0


3505609 0


3263609 1


35792


0


0


0


0


0


8


0


5


0


0


0


0


0


0


0


18


0


12


0


0



3)# netstat





n


缺省时netstat将地址解析成主机名,使用n选项,取消解析使用ip地址



4)# netstat





r


显示主机的路由表


# netstat -r


Routing Table: IPv4




Destination


Gateway


Flags


Ref


Use


Interface


——————– ——————– —– —– —— ———


clusternode2-priv


clusternode2-priv


UGH


1


0


172.16.194.4


clusternode1-priv


U


1


8


qfe2:2


172.16.0.128


172.16.0.129


U


1


8


qfe2


172.16.1.0


172.16.1.1


U


1


8


qfe0


162.105.183.0


sunserver1


U


1


24


eri0


162.105.183.0


sunserver


U


1


0


eri0:1


172.16.193.0


localhost


U


1


0


lo0


224.0.0.0


sunserver1


U


1


0


eri0


default




162.105.183.1


UG


1


10


localhost


localhost


UH


1


0


lo0



5)# netstat





s


显示各协议的统计信息。



6)# netstat -s -P tcp


查香tcp协议的统计量



7)# netstat -na -P tcp


查看哪些端口是打开的


========================================================================


4、Solaris下如何知道哪个进程使用了哪个端口



netstat -na -P tcp查看哪些端口是打开的,但它没有报告是哪个进程打开的。附件ps9000脚本可以列出每个打开的端口被哪个进程使用。Root身份可以查看所有进程,其他身份可以查看本用户的进程。



========================================================================


5、ping 诊断网络连接和阻塞问题



1)ping ip


示例:


# ping 162.105.183.15


162.105.183.15 is alive



2)ping





s [ip] 一直ping 某个地址,按ctl+c或d终止,类似于win下的-t选项


示例:


# ping





s 162.105.183.8



3)ping -p [port] [ip] 检查某个端口


示例:


# ping





p 7001 162.105.183.12


162.105.183.12 is alive


# ping 9001 162.105.183.12


ping: bad timeout: 162.105.183.12



4)ping





a ip


示例:


# ping





a 162.105.183.49


162.105.183.49 (162.105.183.49) is alive


========================================================================


6、ipcs显示与内部进程通信有关的统计信息



示例:


# ipcs


IPC status from <running system> as of 2003年03月10日 星期一 16时58分11秒 CST


T


ID


KEY


MODE


OWNER


GROUP


Message Queues:


q


0


0x2e781d5


–rw-r–r–


root


root


q


1


0x2e781d2


-Rr—w–w-


root


root


Shared Memory:


m


0


0x50000e7e –rw-r–r–


root


root


m


201


0x4c0002d0 –rw-rw-r–


lanman


sys


m


2


0xd961604c –rw-r—–


oracle oinstall


Semaphores:


s


196608


0xbaa9a0cc –ra-r—–


oracle oinstall


s


1


0xbaa9a0cd –ra-r—–


oracle oinstall


s


2


0xbaa9a0ce –ra-r—–


oracle oinstall


========================================================================


7、traceroute显示路由到目的地主机的报文,用于诊断网络拥堵



traceroute ip


示例:


# traceroute www.pku.edu.cn


traceroute to rock.pku.edu.cn (162.105.129.12), 30 hops max, 40 byte packets




1


162.105.183.1 (162.105.183.1)


0.916 ms


0.772 ms


0.705 ms




2


162.105.170.1 (162.105.170.1)


1.262 ms


1.144 ms


1.131 ms




3


162.105.162.126 (162.105.162.126)


1.934 ms


1.304 ms


1.135 ms




4


* * *




5


* * *


========================================================================


8、route get ip获取通过的网关



# route get www.sina.com.cn




route to: sina37-34.sina.com.cn


destination: default




mask: default




gateway: 162.105.183.1




interface: hme0




flags: <UP,GATEWAY,DONE,STATIC>




recvpipe


sendpipe


ssthresh


rtt,ms rttvar,ms


hopcount


mtu


expire




0


0


0


0


0


0


1500


0









李守亮


slli@founder.com.cn


2003-03-10