Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1284340
  • 博文数量: 554
  • 博客积分: 10425
  • 博客等级: 上将
  • 技术积分: 7555
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 09:49
文章分类

全部博文(554)

文章存档

2012年(1)

2011年(1)

2009年(8)

2008年(544)

分类:

2008-04-09 16:00:19


用于管理系统进程的命令
第19 章• 管理系统进程(任务) 325
表19–3 进程命令(/proc )
进程命令说明
pcred 显示进程凭证信息
pfiles 为进程中打开的文件报告fstat 和fcntl 信息
pflags 列显/proc 跟踪标志、暂挂信号和保留信号以及其他状态
信息
pldd 列出链接至进程中的动态库
pmap 列显每个进程的地址空间图
psig 列出每个进程的信号操作和处理程序
prun 启动每个进程
pstack 为每个进程中的每个lwp 列显十六进制符号栈跟踪
pstop 停止每个进程
ptime 使用微状态记帐记录进程的时间
ptree 显示包含该进程的进程树
pwait 在进程终止后显示状态信息
pwdx 显示进程的当前工作目录
有关更多信息,请参见proc(1)。
进程工具与ps 命令的某些选项相似,区别在于这些命令提供的输出更详细。通常,进程命
令可执行以下操作:
 显示有关进程的更多信息,例如fstat 和fcntl、工作目录以及父进程和子进程树
 通过允许用户停止和恢复进程提供对进程的控制
使用进程命令管理进程( /proc)
通过使用一些进程命令可以显示有关进程的详细技术信息或者控制活动进程。表19–3 列出
了一些/proc 命令。
如果进程在死循环中被捕获或者进程执行时间过长,可能需要停止(中止)该进程。有关
使用kill 或pkill 命令停止进程的更多信息,请参见第19 章。
/proc 文件系统是一个目录分层结构,其中包括状态信息和控制功能的附加子目录。
/proc 文件系统还提供了xwatchpoint功能,用于重新映射在进程地址空间各页中的读写权
限。该工具没有限制,并且是MT-safe(多线程安全)的。
用于管理系统进程的命令
326 系统管理指南:高级管理• 2006 年7 月
为了使用/proc 的xwatchpoint 功能,已修改调试工具,这意味着整个xwatchpoint 进程会更
快。
使用dbx 调试工具设置xwatchpoint 时,已删除以下限制:
 由于基于SPARC 的系统注册窗口而在栈的本地变量中设置xwatchpoint
 在多线程进程中设置xwatchpoint
有关更多信息,请参见proc(4) 和mdb(1) 手册页。
 如何列出进程
使用ps 命令列出系统中的所有进程。
$ ps [-efc]
ps 只显示与您的登录会话关联的进程。
-ef 显示系统中正在执行的所有进程的全部信息。
-c 显示进程调度程序信息。
列出进程
以下示例显示ps 命令在不带任何选项时的输出。
$ ps
PID TTY TIME COMD
1664 pts/4 0:06 csh
2081pts/4 0:00 ps
以下示例显示ps -ef 命令的输出。此输出显示,系统启动时最先执行的进程是sched(交换
程序),然后是init 进程、pageout 等。
$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 0 0 0 Dec 20 ? 0:17 sched
root 10 0 Dec 20 ? 0:00 /etc/init -
root 2 0 0 Dec 20 ? 0:00 pageout
root 3 0 0 Dec 20 ? 4:20 fsflush

示例19–1
用于管理系统进程的命令
第19 章• 管理系统进程(任务) 327
root 374 367 0 Dec 20 ? 0:00 /usr/lib/saf/ttymon
root 367 10 Dec 20 ? 0:00 /usr/lib/saf/sac -t 300
root 126 1 0 Dec 20 ? 0:00 /usr/sbin/rpcbind
root 54 10 Dec 20 ? 0:00 /usr/lib/sysevent/syseventd
root 59 10 Dec 20 ? 0:00 /usr/lib/picl/picld
root 178 1 0 Dec 20 ? 0:03 /usr/lib/autofs/automountd
root 129 1 0 Dec 20 ? 0:00 /usr/sbin/keyserv
root 213 1 0 Dec 20 ? 0:00 /usr/lib/lpsched
root 154 1 0 Dec 20 ? 0:00 /usr/sbin/inetd -s
root 139 1 0 Dec 20 ? 0:00 /usr/lib/netsvc/yp/ypbind ...
root 191 1 0 Dec 20 ? 0:00 /usr/sbin/syslogd
root 208 10 Dec 20 ? 0:02 /usr/sbin/nscd
root 193 1 0 Dec 20 ? 0:00 /usr/sbin/cron
root 174 1 0 Dec 20 ? 0:00 /usr/lib/nfs/lockd
daemon 175 1 0 Dec 20 ? 0:00 /usr/lib/nfs/statd
root 376 10 Dec 20 ? 0:00 /usr/lib/ssh/sshd
root 226 10 Dec 20 ? 0:00 /usr/lib/power/powerd
root 315 1 0 Dec 20 ? 0:00 /usr/lib/nfs/mountd
root 237 10 Dec 20 ? 0:00 /usr/lib/utmpd
.
.
.
用于管理系统进程的命令
328 系统管理指南:高级管理• 2006 年7 月
 如何显示有关进程的信息
获得要显示更多信息的进程的进程ID。
# pgrep process
其中,process 是要显示更多信息的进程的名称。
进程ID 显示在输出的第一列中。
显示所需进程信息。
# /usr/bin/pcommand pid
pcommand 是要运行的(/proc) 命令。表19–3 列出并介绍了这些命令。
pid 标识进程ID。
显示有关进程的信息
以下示例显示如何使用进程命令来显示有关cron 进程的更多信息。
# pgrep cron 1
4780
# pwdx 4780 2
4780: /var/spool/cron/atjobs
# ptree 4780 3
4780 /usr/sbin/cron
# pfiles 4780 4
4780: /usr/sbin/cron
Current rlimit: 256 file descriptors
0: S_IFCHR mode:0666 dev:290,0 ino:6815752 uid:0 gid:3 rdev:13,2
O_RDONLY|O_LARGEFILE
/devices/pseudo/mm@0:null
1: S_IFREG mode:0600 dev:32,128 ino:42054 uid:0 gid:0 size:9771
O_WRONLY|O_APPEND|O_CREAT|O_LARGEFILE
1
2
示例19–2
用于管理系统进程的命令
第19 章• 管理系统进程(任务) 329
/var/cron/log
2: S_IFREG mode:0600 dev:32,128 ino:42054 uid:0 gid:0 size:9771
O_WRONLY|O_APPEND|O_CREAT|O_LARGEFILE
/var/cron/log
3: S_IFIFO mode:0600 dev:32,128 ino:42049 uid:0 gid:0 size:0
O_RDWR|O_LARGEFILE
/etc/cron.d/FIFO
4: S_IFIFO mode:0000 dev:293,0 ino:4630 uid:0 gid:0 size:0
O_RDWR|O_NONBLOCK
5: S_IFIFO mode:0000 dev:293,0 ino:4630 uid:0 gid:0 size:0
O_RDWR
1. 获得cron 进程的进程ID
2. 显示cron 进程的当前工作目录
3. 显示包含cron 进程的进程树
4. 显示fstat 和fcntl 信息
 如何控制进程
获得要控制的进程的进程ID。
# pgrep process
其中,process 是要控制的进程的名称。
进程ID 显示在输出的第一列中。
使用相应的进程命令来控制进程。
# /usr/bin/pcommand pid
pcommand 是要运行的进程(/proc) 命令。表19–3 列出并介绍了这些命令。
pid 标识进程ID。
验证进程状态。
# ps -ef | grep pid
1
2
3
用于管理系统进程的命令
330 系统管理指南:高级管理• 2006 年7 月
控制进程
以下示例显示如何使用进程命令来停止和重新启动dtpad 进程。
# pgrep dtpad 1
2921
# pstop 2921 2
# prun 2921 3
1. 获得dtpad 进程的进程ID
2. 停止dtpad 进程
3. 重新启动dtpad 进程
终止进程(pkill, kill)
有时候,您可能需要停止(中止)进程。该进程可能处于死循环中。或者,您可能启动了
一个大型作业,并且希望在完成之前使其停止。您可以中止属于您的任何进程。超级用户
可以中止系统中的任何进程(进程ID 为0、1、2、3 和4 的进程除外)。中止这些进程很可
能会使系统崩溃。
有关更多信息,请参见pgrep(1)、pkill(1) 和kill(1) 手册页。
 如何终止进程(pkill)
(可选的)成为超级用户或等效角色便可以终止其他用户的进程。
获得要终止的进程的进程ID。
$ pgrep process
其中,process 是要终止的进程的名称。
例如:
$ pgrep netscape
587
566
在输出中显示进程ID。
示例19–3
1
2
用于管理系统进程的命令
第19 章• 管理系统进程(任务) 331
注– 要获得有关Sun RayTM 的进程信息,请使用以下命令:
# ps -fu user
此命令将列出所有用户进程。
# ps -fu user | grep process
此命令可为用户找到特定进程。
终止进程。
$ pkill [signal] process
signal 当pkill 命令行语法中不包括任何信号时,使用的缺省信号为–15 (SIGTERM)。将
–9 信号(SIGKILL) 与pkill 命令一起使用可以确保进程快速终止。但是,不能使
用–9 信号来中止特定进程,例如数据库进程或LDAP 服务器进程。结果是可能
丢失数据。
process 是要停止的进程的名称。
提示– 使用pkill 命令终止进程时,先尝试使用该命令本身,而不包括信号选项。等待几分
钟确定进程是否终止,然后再使用带-9 信号的pkill 命令。
验证进程是否已终止。
$ pgrep process
pgrep 命令的输出中应不再列出已终止的进程。
 如何终止进程(kill)
(可选的)成为超级用户或等效角色便可以终止其他用户的进程。
获得要终止的进程的进程ID。
$ ps -fu user
其中,user 是要为其显示进程的用户。
例如:
$ ps -fu userabc
userabc 328 323 2 Mar 12 ? 10:18 /usr/openwin/bin/Xsun
:0 -nobanner -auth /var/dt/A:0-WmayOa
3
4
1
2
用于管理系统进程的命令
332 系统管理指南:高级管理• 2006 年7 月
userabc 366 349 0 Mar 12 ? 0:00 /usr/openwin/bin/fbconsole
userabc 496 485 0 Mar 12 ? 0:09 /usr/dt/bin/sdtperfmeter
-f -H -t cpu -t disk -s 1-name fpperfmeter
userabc 349 332 0 Mar 12 ? 0:00 /bin/ksh /usr/dt/bin/Xsession
userabc 440 438 0 Mar 12 pts/3 0:00 -csh -c unsetenv _ PWD;
unsetenv DT; setenv DISPLAY :0;
userabc 372 10 Mar12 ? 0:00 /usr/openwin/bin/speckeysd
userabc 438 349 0 Mar 12 pts/3 0:00 /usr/dt/bin/sdt_shell -c
unset
.
.
.
进程ID 显示在输出的第一列中。
终止进程。
$ kill [signal-number] pid
signal 当kill 命令行语法中不包括任何信号时,使用的缺省信号为–15 (SIGKILL)。将–9
信号(SIGTERM) 与kill 命令一起使用可以确保进程快速终止。但是,不能使用–9
信号来中止特定进程,例如数据库进程或LDAP 服务器进程。结果是可能丢失数
据。
pid 是要终止的进程的进程ID。
提示– 使用kill 命令停止进程时,先尝试使用该命令本身,而不包括信号选项。等待几分
钟确定进程是否终止,然后再使用带-9 信号的kill 命令。
验证进程是否已终止。
$ pgrep pid
pgrep 命令的输出中应不再列出已终止的进程。
3
4
用于管理系统进程的命令
第19 章• 管理系统进程(任务) 333
调试进程(pargs、preap)
pargs 命令和preap 命令可以改进进程调试。pargs 命令可以列显与实时进程或核心转储文
件关联的参数和环境变量。preap 命令可以删除不再存在(僵停)的进程。僵停进程尚不
具有由父进程请求的退出状态。这些进程通常是无害的,但如果数量众多,则会占用系统
资源。可以使用pargs 和preap 命令检查您有权检查的任何进程。作为超级用户,您可以检
查任何进程。
有关使用preap 命令的信息,请参见preap(1) 手册页。有关使用pargs 命令的信息,请参见
pargs(1) 手册页。另请参见proc(1) 手册页。
示例19–4 调试进程(pargs)
pargs 命令可以解决一个长期存在的问题,即使用ps 命令无法显示传递给进程的所有参
数。以下示例显示如何通过结合使用pargs 命令和pgrep 命令来显示传递给进程的参数。
# pargs ‘pgrep ttymon‘
579: /usr/lib/saf/ttymon -g -h -p system-name console login:
-T sun -d /dev/console -l
argv[0]: /usr/lib/saf/ttymon
argv[1]: -g
argv[2]: -h
argv[3]: -p
argv[4]: system-name console login:
argv[5]: -T
argv[6]: sun
argv[7]: -d
argv[8]: /dev/console
argv[9]: -l
argv[10]: console
argv[11]: -m
argv[12]: ldterm,ttcompat
用于管理系统进程的命令
334 系统管理指南:高级管理• 2006 年7 月
示例19–4 调试进程(pargs) (续)
548: /usr/lib/saf/ttymon
argv[0]: /usr/lib/saf/ttymon
以下示例显示如何使用pargs -e 命令显示与某一进程关联的环境变量。
$ pargs -e 6763
6763: tcsh
envp[0]: DISPLAY=:0.0
管理进程类信息(任务图)
任务说明参考
显示有关进程类的基本信息。使用priocntl -l 命令可以显示
进程调度类和优先级范围。
第336 页中的“如何显示有关进
程类的基本信息( priocntl)”
显示进程的全局优先级。使用ps -ecl 命令可以显示进程
的全局优先级。
第337 页中的“如何显示进程的
全局优先级”
指定进程优先级。使用priocntl - e -c 命令以指
定的优先级启动进程。
第337 页中的“如何指定进程优
先级(priocntl )”
更改分时进程的调度参数。使用priocntl -s -m 命令可以更
改分时进程中的调度参数。
第338 页中的“如何更改分时进
程的调度参数(priocntl)”
更改进程的类。使用priocntl -s -c 命令可以更
改进程的类。
第339 页中的“如何更改进程的
类( priocntl)”
更改进程的优先级。使用/usr/bin/nice 命令及相应
选项可以降低或提高进程的优先
级。
第340 页中的“如何更改进程的
优先级( nice)”
管理进程类信息
以下列表列出了可在系统中配置的进程调度类。其中还包括分时类的用户优先级范围。可
能的进程调度类如下所示:
 公平共享(FSS)
 固定(FX)
 系统(SYS)
管理进程类信息
第19 章• 管理系统进程(任务) 335
 交互(IA)
 实时(RT)
 分时(TS)
 用户提供的优先级范围为-60 到+60。
 进程的优先级继承自父进程。此优先级称为用户模式优先级。
 系统会在分时分发参数表中查找用户模式优先级。然后,系统将添加任何nice 或
priocntl(用户提供的)优先级并确保0–59 范围,以创建全局优先级。
更改进程的调度优先级( priocntl)
进程的调度优先级是进程调度程序根据调度策略分配的优先级。dispadmin 命令可以列出缺
省调度策略。有关更多信息,请参见dispadmin(1M) 手册页。
可以使用priocntl 命令将进程分配给优先级类并管理进程优先级。有关使用priocntl 命令
管理进程的说明,请参见第337 页中的“如何指定进程优先级(priocntl )”。
 如何显示有关进程类的基本信息( priocntl)
使用priocntl -l 命令显示进程调度类和优先级范围。
$ priocntl -l
显示有关进程类的基本信息(priocntl)
以下示例显示priocntl -l 命令的输出。
# priocntl -l
CONFIGURED CLASSES
==================
SYS (System Class)
TS (Time Sharing)
Configured TS User Priority Range: -60 through 60

示例19–5
管理进程类信息
336 系统管理指南:高级管理• 2006 年7 月
FX (Fixed priority)
Configured FX User Priority Range: 0 through 60
IA (Interactive)
Configured IA User Priority Range: -60 through 60
 如何显示进程的全局优先级
使用ps 命令显示进程的全局优先级。
$ ps -ecl
PRI 列下列出了全局优先级。
显示进程的全局优先级
以下示例显示ps -ecl 命令输出。PRI 列中的值显示,pageout 进程优先级最高,而sh 进程
的优先级最低。
$ ps -ecl
F S UID PID PPID CLS PRI ADDR SZ WCHAN TTY TIME COMD
19 T 0 0 0 SYS 96 f00d05a8 0 ? 0:03 sched
8 S 0 10 TS 50 ff0f4678185 ff0f4848 ? 36:51 init
19 S 0 2 0 SYS 98 ff0f4018 0 f00c645c ? 0:01 pageout
19 S 0 3 0 SYS 60 ff0f5998 0 f00d0c68 ? 241:01 fsflush
8 S 0 269 1TS 58 ff0f5338 303 ff49837e ? 0:07 sac
8 S 0 204 1TS 43 ff2f6008 50 ff2f606e console 0:02 sh
 如何指定进程优先级(priocntl )
(可选的)承担主管理员角色,或成为超级用户。
主管理员角色包括主管理员配置文件。要创建该角色并将角色指定给用户,请参
见《System Administration Guide: Basic Administration》中的第2 章,“WorkingWith the
Solaris Management Console (Tasks)”。

示例19–6
1
管理进程类信息
第19 章• 管理系统进程(任务) 337
以指定的优先级启动进程。
# priocntl -e -c class -m user-limit -p pri command-name
-e 执行该命令。
-c class 指定要在其中运行进程的类。有效类包括TS(分时)、RT(实
时)、IA(交互)、FSS(公平共享)和FX(固定优先级)。
-m user-limit 使用-p 选项时,可以指定可将优先级提高或降低的最大量。
-p pri command-name 允许您为实时线程指定在RT 类中的相对优先级。对于分时进程而
言,使用-p 选项可以指定用户提供的优先级,该优先级范围是-60
到+60。
验证进程状态。
# ps -ecl | grep command-name
指定进程优先级(priocntl)
以下示例显示如何以用户提供的最高优先级启动find 命令。
# priocntl -e -c TS -m 60 -p 60 find . -name core -print
# ps -ecl | grep find
 如何更改分时进程的调度参数(priocntl)
(可选的)承担主管理员角色,或成为超级用户。
主管理员角色包括主管理员配置文件。要创建该角色并将角色指定给用户,请参
见《System Administration Guide: Basic Administration》中的第2 章,“WorkingWith the
Solaris Management Console (Tasks)”。
更改正在运行的分时进程的调度参数。
# priocntl -s -m user-limit [-p user-priority] -i idtype idlist
-s 允许设置用户优先级范围的上限并更改当前优先级。
-m user-limit 使用-p 选项时,可以指定可将优先级提高或降低的最大量。
-p user-priority 允许指定优先级。
-i xidtype xidlist 结合使用xidtype 和xidlist 以标识一个或多个进程。xidtype 指定ID 的类
型,例如进程ID 或用户ID。使用xidlist 可以标识进程ID 或用户ID 的
列表。
2
3
示例19–7
1
2
管理进程类信息
338 系统管理指南:高级管理• 2006 年7 月
验证进程状态。
# ps -ecl | grep idlist
更改分时进程的调度参数(priocntl )
以下示例显示如何以500 毫秒的时间片、RT 类中的优先级20 以及全局优先级120 来执行命
令。
# priocntl -e -c RT -m 500 -p 20 myprog
# ps -ecl | grep myprog
 如何更改进程的类( priocntl)
(可选的)成为超级用户或作为等效角色。
更改进程的类。
# priocntl -s -c class -i idtype idlist
-s 允许设置用户优先级范围的上限并更改当前优先级。
-c class 为分时或RT for real-time 指定要更改进程的类TS。
-i idtype idlist 结合使用xidtype 和xidlist 以标识一个或多个进程。xidtype 指定ID 的类
型,例如进程ID 或用户ID。使用xidlist 可以标识进程ID 或用户ID 的列
表。
注– 只有超级用户或在实时Shell 中工作的用户才能将某一进程更改为实时进程或将实时进
程更改为该进程。如果超级用户将用户进程更改为实时类,那么该用户以后不能使用
priocntl -s 命令来更改实时调度参数。
验证进程状态。
# ps -ecl | grep idlist
更改进程的类(priocntl)
以下示例显示如何将属于用户15249 的所有进程都更改为实时进程。
# priocntl -s -c RT -i uid 15249
# ps -ecl | grep 15249
3
示例19–8
1
2
3
示例19–9
管理进程类信息
第19 章• 管理系统进程(任务) 339
更改分时进程的优先级( nice)
支持nice 命令的目的只是为向下兼容以前的Solaris 发行版。priocntl 命令在管理进程方面
提供了更多的灵活性。
进程的优先级由其调度类的策略和nice 数值决定。每个分时进程都有全局优先级。全局优
先级的计算方法是用户提供的优先级(该优先级可能受nice 或priocntl 命令影响)加上系
统计算的优先级。
进程的执行优先级数由操作系统分配。优先级数由多个因素决定,其中包括进程的调度
类、进程使用的CPU 时间以及进程的nice 数值(对于分时进程的情况)。
每个分时进程都以缺省nice 数值启动,它从父进程中继承该数值。nice 数值显示在ps 报告
的NI 列中。
用户可通过提高用户提供的优先级来降低进程的优先级。但是,只有超级用户能够通过降
低nice 数值来提高进程的优先级。此限制使用户无法提高自己所拥有进程的优先级,因此
会独占更大的CPU 份额。
nice 数值的范围是0 到+39,其中0 表示最高优先级。每个分时进程的缺省nice 值为20。
有两个可用的命令版本:标准版本/usr/bin/nice 以及C Shell 内置命令。
 如何更改进程的优先级( nice)
通过使用此过程,用户可以降低进程的优先级。而超级用户可以提高或降低进程的优先
级。
注– 本节介绍的是/usr/bin/nice 命令而非C-shell 内置nice 命令的语法。有关C-shell nice
命令的信息,请参见csh(1) 手册页。
确定要以用户身份还是超级用户身份更改进程的优先级。然后,选择以下两项之一:
 以用户身份,按照步骤2 中的示例降低命令的优先级。
 以超级用户的身份,按照步骤3 中的示例提高或降低命令的优先级。
以用户身份,通过增大nice 数值降低命令的优先级。
以下nice 命令使nice 数值增大5 个单位,从而以更低的优先级来执行command-name。
$ /usr/bin/nice -5 command-name
在前面的命令中,减号指定后面的内容是一个选项。也可以通过以下方式来指定此命令:
% /usr/bin/nice -n 5 command-name
1
2
管理进程类信息
340 系统管理指南:高级管理• 2006 年7 月
以下nice 命令使nice 数值增大缺省的10 个单位但不超出最大值39,从而降低了
command-name 的优先级。
% /usr/bin/nice command-name
作为超级用户或等效角色,通过更改nice 数值来提高或降低命令的优先级。
以下nice 命令使nice 数值降低10 个单位但不低于最小值0,从而提高command-name 的优
先级。
# /usr/bin/nice --10 command-name
在前面的命令中,第一个减号指定后面的内容是一个选项。第二个减号指示一个负数。
以下nice 命令使nice 数值增大5 个单位但不超出最大值39,从而降低command-name 的优
先级。
# /usr/bin/nice -5 command-name
有关更多信息,请参见nice(1) 手册页。
系统进程问题的疑难解答
下面是对可能遇到的一些明显问题的提示:
 查找同一用户所有的多个相同作业。出现此问题可能是由于正在运行的某个脚本启动了
多个后台作业,而未等待任何作业完成。
 查找累积了大量CPU 时间的进程。通过检查ps 输出中的TIME 字段可以确定此问题。此
进程可能是死循环。
 查找运行优先级过高的进程。使用ps -c 命令检查CLS 字段,其中显示每个进程的调度
类。作为实时(RT) 进程执行的进程会独占CPU。或者,查找nice 数值很大的分时(TS)
进程。具有超级用户特权的用户可能提高了某一进程的优先级。系统管理员可以使用
nice 命令来降低优先级。
 查找超越进程。超越进程会逐渐使用越来越多的CPU 时间。通过查看进程启动时的时
间(STIME) 并监视一会儿CPU 时间累积(TIME),便可确定此问题。
3
另请参见
系统进程问题的疑难解答
第19 章• 管理系统进程(任务) 341
342
监视系统性能(任务)
本章介绍使用vmstat、iostat、df 和sar 命令监视系统性能的过程。
有关与监视系统性能相关的过程的信息,请参见以下主题:
 第343 页中的“显示系统性能信息(任务图)”
 第353 页中的“监视系统活动(任务图)”
显示系统性能信息(任务图)
任务说明参考
显示虚拟内存统计信息。使用vmstat 命令收集虚拟内存
统计信息。
第345 页中的“如何显示虚拟内
存统计信息(vmstat)”
显示系统事件信息。使用vmstat 命令和-s 选项显示
系统事件信息
第346 页中的“如何显示系统事
件信息(vmstat -s )”
显示交换统计信息。使用vmstat 命令和-S 选项显示
交换统计信息。
第347 页中的“如何显示交换统
计信息(vmstat -S)”
显示每台设备的中断。使用vmstat 命令和-i 选项显示
每台设备的中断次数。
第347 页中的“如何显示每台设
备的中断次数(vmstat -i)”
显示磁盘使用率。使用iostat 命令报告磁盘输入
和输出统计信息。
第348 页中的“如何显示磁盘使
用率信息(iostat)”
显示扩展磁盘统计信息。使用iostat 命令和-xtc 选项显
示扩展磁盘统计信息。
第350 页中的“如何显示扩展磁
盘统计信息(iostat -xtc )”
显示磁盘空间信息。df -k 命令以千字节为单位显示
磁盘空间信息。
第351 页中的“如何显示磁盘空
间信息(df -k)”
20 第2 0 章
343
显示虚拟内存统计信息(vmstat)
使用vmstat 命令可以报告虚拟内存统计信息,以及有关系统事件(例如CPU 负载、分页、
上下文切换数、设备中断和系统调用)的信息。vmstat 命令还可以显示有关交换、高速缓
存刷新和中断的统计信息。
下表描述了vmstat 命令输出中的字段。
表20–1 vmstat 命令的输出
类别字段名说明
procs 报告以下内容:
r 分发队列中的内核线程数
b 正在等待资源的阻塞内核线程数
w 正在等待处理中的资源完成的换出LWP 数
memory 报告实际内存和虚拟内存的使用情况:
swap 可用交换空间
free 可用列表的大小
page 以秒为单位报告页面错误和分页活动:
re 回收的页面
mf 次要错误和主要错误
pi 页入的千字节数
po 页出的千字节数
fr 释放的千字节数
de 最近换入的进程所需的预计内存
sr 由page 守护程序扫描的当前未使用的页数。如果sr 不等于
零,则page 守护程序一直在运行。
disk 报告每秒的磁盘操作数,最多显示四个磁盘中的数据
faults 报告每秒的陷阱/中断速率:
in 每秒的中断次数
sy 每秒的系统调用数
cs CPU 上下文切换速率
cpu 报告CPU 使用时间:
显示虚拟内存统计信息(vmstat)
344 系统管理指南:高级管理• 2006 年7 月
表20–1 vmstat 命令的输出(续)
类别字段名说明
us 用户时间
sy 系统时间
id 空闲时间
有关此命令的更多详细说明,请参见vmstat(1M) 手册页。
 如何显示虚拟内存统计信息(vmstat)
使用vmstat 命令以秒为时间间隔单位收集虚拟内存统计信息。
$ vmstat n
其中,n 是两次报告之间的间隔秒数。
显示虚拟内存统计信息
以下示例显示了以5 秒为间隔收集的统计信息的vmstat 显示。
$ vmstat 5
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr dd f0 s1-- in sy cs us sy id
0 0 0 863160 365680 0 3 1 0 0 0 0 0 0 0 0 406 378 209 1 0 99
0 0 0 765640 208568 0 36 0 0 0 0 0 0 0 0 0 479 4445 1378 3 3 94
0 0 0 765640 208568 0 0 0 0 0 0 0 0 0 0 0 423 21 4 2 35 0 0 1 0 0
0 0 0 765712 208640 0 0 0 0 0 0 0 3 0 0 0 41 2 18 51 18 0 0 1 00
0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 402 1 5 7 1 7 9 0 0 1 0 0
0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 403 1 5 3 1 8 2 0 0 1 0 0
0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 402 1 6 8 1 7 7 0 0 1 0 0
0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 402 1 5 3 1 7 8 0 0 1 0 0
0 0 0 765832 208760 0 18 0 0 0 0 0 0 0 0 0 407 1 6 5 1 8 6 0 0 1 0 0

示例20–1
 
 
以上文章转自于 : http://developers.sun.com.cn/
 
阅读(514) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~