Unix平台下的常用命令技巧之五 资源与性能收藏
Unix平台下的常用命令技巧之五 资源与性能收藏
简述
本节介绍了一些查看系统信息和监测系统资源与性能的工具,使用性能监测工具对当前系统有一个基本的了解,并根据收集到的信息选择其他相应的工具,进一步分离出性能瓶颈和寻找解决办法。本节根据查看系统信息、磁盘使用和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
…
…
========================================================================
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(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