2 Solaris高级系统管理员指南

1.4.2使用ps报告
当需要哪些进程或系统管理进程正在运行时,使用ps -e选择项,如果还想得到过程的更详细信息,用ps -el选择项 。各选择项的详细说明参考ps(1)命令手册 。
下面是如何发现潜在问题的指南:
*查看有没有由同一用户所有的相同作业,若有,这可能是由于某用户运行了启动一组后台作业的shell程序,但没有等待作业终止,找用户谈谈,看是否是这种情况,如果必要,用kill命令杀死其中一些进程,有关杀死一个进程的详细介绍参见后面几节 。
*查看TIME域,看哪些进程占用了大量的CPU时间,这样的进程可能导致死循环 。
*查看C域,找出占用大量CPU时间且不重要的进程,如果认为此进程确实不值占用如此多的CPU时间,可以用priocntl命令降低它的优先级,有关priocntl命令的详细信息,参考prioentl(1)手册 。
*查看SZ域,找出占用太大内存的进程 。如果某个进程占用了过于大的内存,将它杀死,如果系统中有许多进程都需要大量内存,则可能需要扩充内存 。
*查找占用CPU时间越来越多的失控进程,可以用带-f可选项的ps命令查看其超始时间(STIME),也可直接看其TIME域所指的CPU累计时间 。
1.4.3杀死进程
有时用户需要彻底地消除一个进程,这时用kill命令,kill命令的格式为kill-,此处是一个数或一个名称 。
注意:仅当进程不能正常退出时用kill命令 。
有时用kill命令后进程仍未死掉,最常见的三种情况:
?;进程退出前正在等待一个设备(如磁带机)完成某种操作 。
?;进程正在等待由于nfs出现问题而无效的资源,在这种情况应该用kill-QUIT命令来杀死一个进程 。
?;进程处于僵尸态,正如ps报告的消息所显示,僵尸进程已经释放了它所占资源,但还没有接收到父进程的回应,一般接收到回应后删除对应的进程表项,在下次启动系统时,僵尸进程被消除,僵尸(ZombIEs)进程不影响系统性能,所以用户不必删除它们 。
要杀死一个进程:
1、 变成超级用户,要杀死一个非你拥有的进程,你必须成为超级用户 。
2、 键入ps -e,将显示出一组进程,使用第一栏的PID(进程ID)号作为下一步的输入,如果你知道是哪个进程出了问题,则可以键入:
ps -e | grep 来找到其进程ID
3、 键入kill-15 ,若仅键入kill,无参数,则缺省的信号是15 。
4、 键入ps -e,检查进程是否已经终止,如果进程还存在,则到第5步 。
5、 键入kill-9 ,这个进程应该被终止 。键入man -s5 signal,查看kill所使用的信号描述 。
例如:如果gtxa系统上的Open Windows 死了,你必须从另一个系统远程注册来杀死此进程 。
elm% rlogin gtxa
PassWord:
gtxa% ps-e │ grep openwin
PID TTY TIME COMD
2212 pts/0 0:00 openwin
2213 pts/1 0:00 grep openwin
gtxa # kill 2212
gtxa # exit
gtxa% logout
elm%
1.5基本管理工具
Solaris系统软件提供以下两种管理工具:
*一组通用的操作系统命令
*具有图形用户接口的管理工具(Administration Tool) 。
1.5.1经常使用的命令
下面几节简单地介绍基本的Solaris命令,你很可能会使用它们作为系统管理例程的一部分,更详细的介绍参见第二章中的“Basic OS Commands”及附录A列出的SunOS 4.x命令与SunOS 5.x命令的对照表 。
1.5.1.1在文件系统中移动
Solaris系统软件是有一个层次结构的文件系统,当管理系统时,你需要了解目前处于文件系统的哪个位置、如何转到不同的目录 。
1.5.1.2查看在文件系统中所处的位置
要知道目前处于文件系统的哪一层,键入pwd 。pwd(打印工作目录)命令显示当前目录:
gtxa&pwd

推荐阅读