`

Solaris系统进程的查看和管理

阅读更多
1、什么是进程?
进程:可并发执行的程序在一定数据集合上的运行过程。进程即是资源分配的基本单位,也是调度和分派的基本单位。

2、UNIX操作系统进程调度算法:
多级反馈调度队列算法。

3、进程状态:创建、初始、就绪(活动、静止)、执行、阻塞(活动、静止)、结束。

4、进程监控命令:
ps 命令和进程工具/usr/proc/bin下的工具级。
可以将ps和grep命令组合使用来搜索特定的信息。
5、/usr/proc/bin的命令介绍:
pstop 停止进程
prun pid 重新启动进程
ptime pid 使用微状态计算进程时间
pwait pid 等待指定的进程终止.
pcred pid 显示可信度
pfiles pid 显示已打开文件的fstat 和fcntl 信息
pflags pid 显示每个lwp 的/proc 跟踪标志,等待和持有信号量以及其他状
态信息
pldd pid 显示链接到每个进程的动态链接库
pmap pid 显示地址映射空间
psig pid 显示信号操作
pstack pid 显示每个lwp 的十六进制与符号堆跟踪
ptree pid 显示包含指定PID 的进程树
pwdx oid 显示当前工作目录

6、ps命令格式:
ps [ -aAdeflcjLPy ] [ -o format ] [ -t termlist ] [ -u userlist ] [ -U userlist ] [ -G grouplist ] [ -p proclist ] [ -g pgrplist ] [ -s sidlist ]

7、常用的参数:
-e 输出所有进程报告
-f 在第一栏显示进程所有者的名字(不是UID)。该选项关闭-l、–t、–s 和–r 选项,打开-a 选项。
-l 产生一个长的输出报告,只是不包含STIME 字段

8、ps -el的相关输出参数解释:
bash-2.05$ ps -el

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
19 T 0 0 0 0 0 SY ? 0 ? 0:16 sched
8 S 0 1 0 0 40 20 ? 151 ? ? 0:00 init
19 S 0 2 0 0 0 SY ? 0 ? ? 0:00 pageout
19 S 0 3 0 0 0 SY ? 0 ? ? 0:30 fsflush
8 S 0 377 1 0 40 20 ? 223 ? ? 0:00 sac
8 S 0 378 1 0 40 20 ? 224 ? console 0:00 ttymon
8 S 0 131 1 0 40 20 ? 289 ? ? 0:00 rpcbind

F 十六进制标志,它们加起来表示进程的当前状态。如下所述:
00 进程终止,而且它们在进程表中的空间已释放。
01 系统进程,长驻内存
02 进程被父进程跟踪
04 进程被父进程跟踪而且已被停止
08 该进程无法被信号量唤醒
10 该进程当前在内存中,而且被锁定直到一个事件完成
20 进程不能被交换出

S 进程当前状态,由以下字母之一显示:
O 当前正在处理器上运行
S 睡眠;等待I/O事件完成
R 运行结束
I 空闲;进程被创建
Z 僵死。进程已终止
T 由于父进程跟踪而停止
X 等待更多的内存

UID 进程所有者的用户ID
PID 进程ID
PPID 父进程ID
C 进程的CPU使用情况(即进程占CPU时间的百分比)
PRI 进程优先权方案。较大的数表示较低的优先权
NI 进程的nice值,该值与优先权方案相关联。使一个进程“nicer”意指降低该进程的优先权,以使它不会用尽CPU的时间
SZ 进程请求的虚拟内存量。这是该系统对内存需求的一个好的指标。
TTY 启动进程(或者父进程)的终端。带问号的进程无控制终端(通常为系统进程)
TIME 自进程启动以来占CPU时间总量
COMD 产生进程的命令

9、使用ps报告。
查找属于一个用户的许多相同的工作。Kill命令终止进程。 ps -U username
查找TIME字段中占用了很多CPU时间的进程。这样的进程可能在死循环。ps -e
查找C字段,找出不重要但占用了大量CPU时间的进程。如果该进程获取过多内存,删除该进程。如果许多进程占用了大量内存,则系统可能需要增加内存。ps -el
注意使用越来越多CPU时间的失控进程。可以通过使用-f选项查看进程启动时间(STIME)以及通过查看TIME字段中的CPU时间总量来检测失控进程。 ps -f

10、删除进程。
在正常途径无法结束时才使用删除命令。
#kill - signal pid
signal:57
signal:
2 中断
3 退出
4 非法指令
5 跟踪中断
6 Abort
7 EMT指令(Emulation竞争trap)
8 浮点格式的异常情况
9 kill(不能被捕获或忽略)
10 通道错误
11不合法的内存区段
12 错误系统调用
13 写入不可读的连通管道
14 alarm clock
15 软件结束信号
16 用户定义的信号1
17用户定义的信号2
18 子进程状态被改变
19 电源坏掉
20窗口(Window)的大小被改变
21Urgent(紧急的) Socket Condition
22 Pollable(可查询的)event
23 停止
24 由用户终止
25 继续执行
26 停止终端输入
27 停止终端输出
28 virtual Timer expired
29 Profiling time expired
30 超过CPU时间
31 超过文件大小限制
32 Socket I/O possible

有时即使用kill命令,但进程仍未被删除。最有可能的三种情况:
进程在退出前等待设备完成操作。
进程在等待由于NFS故障而导致的无法使用的资源。要删除此类进程,输入kill -quit PID
进程为僵死进程,在ps报告的defunct的消息中显示。僵死进程是释放了所有资源,但未接受到父进程确认的进程。只有收到确认才删除进程在进程表中的入口。下一次引导时僵死进程会被清除。僵死进程不影响系统性能,不需要删除。

11、优先权控制命
使用priocntl命令可以:
显示或设置指定进程的调度参
显示系统调度程序的当前配置信息
执行带有指定调度参数的命令
每个进程都有不同的级,每级分配有各自不同的调度策略。
系统可能配置的级包括:
系统(SYS)
交互(IA)
实时(RT)
分式共享(TS)
对于分式共享级,用户提供的优先权范围为:-20~+20。一个
分时共享进程的优先权(用户模式优先权)是从父进程继承
而来。系统在分时调度表中查找用户模式优先权,加入任何
nice值或这者priocntl优先权值(用户提供),保证创建的全
局优先权在0~59之间。
在默认配置中,一个可运行的实时进程在任何其它进程之前运行。实时进程使用不当会导致系统性能急剧下降。
1. 显示进程级的基本信息(进程级或系统调度参数):
输入priocntl -l并回车
2. 显示进程的全局优先级
使用ps -ecl命令显示进程的全局优先权。全局优先权在PRI栏列出
3、指定进程的优先级:
输入priocntl -e -c class -m user -limit -p priority command - name回车
-e 执行命令
-c 指定级(默认选项是TS(分时共享)或RI(实时)
-m 用户限制选项,指定-p选项提升或降低优先权的最大量。
-p 允许指定用户提供的优先权,范围为-20~+20。

4.更改分时共享进程的调度参数
依照以下步骤更改分时共享进程的调度参数:
1)成为超级用户。
2)输入priocntl -s -m user -limit [-p priority] -i id type id -list回车。
-s允许设置用户优先权范围的上限
-m 用户限制选项,指定-p选项提升或降低优先权的最大量。
-p优先权命令名选项,允许指定优先权。
-I id -type和id -list选项使用id -type和id -list的组合标识进程, id -
type指定id类型,如PID或UID。
3)输入ps -ecl|grep id -list回车。
4)检查PRI栏的输出,验证已经成功地更改了进程状态。
% priocntl -s -c RT -t 500 -p 20 myprog
% ps -ecl|grep myprog

5. 更改进程
依照以下步骤更改进程级:
1)成为超级用户。
2)输入priocntl -s -c class -i id type id -list回车。
-s允许设置用户优先权范围的上限并更改优先权
-c 指定想更改的进程级为TS(分时共享)级或RI(实时)级
-I id -type和id -list选项使用id -type和id -list的组合标识进程, id -type指定id
类型,如PID或UID。
3)输入ps -ecl|grep id -list回车。
4)检查PRI栏的输出,验证已经成功地更改了进程状态。
注意:必须是超级用户或者在实时shell中操作,更改进程级为非实时级或者实时级。

6、更改进程优先级
使用nice命令可以提高或降低一个命令或进程的优先权。
不带参数使用该命令则默认nice值增4个单位,使进程优先
权降低。
注意:必须是超级用户才能。
/usr/bin/nice command -name(默认,进程的优先权降低4个单位)
/usr/bin/nice +10 command -name(进程的优先权降低10个单位)
/usr/bin/nice -10 command -name(进程的优先权增加10个单位)
/usr/bin/nice - -10 command -name(nice 值减少10个单位,提高一个命令的优先权)
分享到:
评论

相关推荐

    Solaris系统管理和维护

    【Solaris系统管理和维护】是针对初学者的全面教程,涵盖了Solaris操作系统的多个核心方面。以下是关于这个主题的详细知识点: 1. **软件环境和UNIX常用命令**: - **软件组成**:Solaris系统由硬件(HW)、内核...

    Solaris 系统 管理 员 培训

    Solaris系统管理员培训 i 第一章 系统概念(System Concepts) 1 第二章 OpenBoot PROM 2 第三章 安装Solaris操作系统 6 第四章 软件包管理 7 第五章 补丁维护 10 第六章 启动过程 11 第七章 系统安全 13 第八章 用户...

    Solaris系统管理员手册

    《Solaris系统管理员手册》是指导IT专业人员管理和维护Solaris操作系统的重要参考资料。Solaris,由Sun Microsystems开发,是一款强大的Unix变体,广泛应用于企业级服务器环境。本手册旨在帮助系统管理员有效地执行...

    Solaris 系统管理完整版

    Solaris提供了丰富的命令行工具,帮助管理员进行日常的系统管理和文件操作,如`cd`(改变目录)、`ls`(列出目录内容)、`find`(搜索文件)、`cat`(显示文件内容)、`chmod`和`chown`(改变文件权限和所有权)等。...

    SUN Solaris10 系统管理指南:基本管理

    Solaris 10 提供`ifconfig`、`netstat`等工具来管理和查看网络状态。 4. **软件包管理**:Solaris 10 使用pkg工具进行软件安装、升级和卸载,管理软件仓库,理解这个机制可以方便地维护系统软件。 5. **存储管理**...

    Solaris系统管理

    3. **进程管理**:Solaris 提供了丰富的进程管理工具,如 `ps`、`kill`、`nice` 和 `renice` 等,用于监控、控制和调整进程的运行状态。同时,理解进程优先级和调度策略对优化系统性能至关重要。 4. **用户与权限...

    solaris中高级系统管理全套资料

    了解Solaris的基础架构,包括其内核、文件系统、进程管理、网络模型等,是成为合格管理员的第一步。 二、系统安装与升级 学习如何规划硬件配置,选择合适的安装方式(如使用LiveCD、网络安装等),以及进行系统的...

    solaris系统管理员手册

    《Solaris系统管理员手册》是指导IT专业人员管理和维护Solaris操作系统的重要参考资料。Solaris,由Sun Microsystems(现为Oracle公司的一部分)开发,是一款广泛应用于企业级服务器的Unix操作系统,以其稳定性和...

    Solaris系统管理笔记

    以上只是Solaris系统管理的一部分,实际操作中还包括网络配置、进程管理、权限控制、系统日志监控等多个方面。掌握这些知识对于管理和优化Solaris环境至关重要,尤其是在大型企业环境中,有效管理能确保系统的稳定性...

    Solaris系统管理员培训

    在Solaris系统管理员的培训中,涵盖了广泛的系统管理和网络管理知识。以下是关键知识点的详细说明: 1. **系统概念(System Concepts)**:这部分内容讲解了Solaris操作系统的基础架构,包括操作系统的基本组件,如...

    Solaris 系统管理员手册

    《Solaris系统管理员手册》是一本专为Solaris操作系统管理员编写的详尽指南。...通过学习《Solaris系统管理员手册》,管理员将具备处理各种复杂情况的能力,从而有效提升Solaris系统的管理和维护水平。

    solaris操作系统课件——与windows的对比

    操作系统的主要功能包括进程管理、存储器管理、文件系统管理和设备管理等。 接下来,让我们来了解 Solaris 操作系统结构和机制。Solaris 操作系统是一个基于 Unix 的操作系统,具有高度的可移植性和可扩展性。...

    Solaris系统管理与维护

    本资料主要涵盖了Solaris系统的管理和维护,包括两个英文文档和一个中文PPT,旨在帮助用户深入理解和熟练掌握Solaris的日常操作和高级技术。 一、Solaris系统基础 Solaris系统基于System V Release 4(SVR4)和...

    solaris系统编程教学(英文版)

    1. **进程管理**:包括进程的创建(fork、vfork、exec系列函数)、进程控制(wait、waitpid、wait3、wait4等)、进程间通信(管道、消息队列、共享内存、信号量)以及进程调度策略。 2. **线程编程**:Solaris是最...

    操作系统\Solaris操作系统\Solaris

    1. **多核与并行处理**:Solaris具有强大的多线程和多进程支持,利用其独特的Solaris Process Execution Model和Solaris Dynamic Tracing(DTrace)工具,能有效地管理和优化系统资源,尤其在多核和多处理器系统上...

Global site tag (gtag.js) - Google Analytics