AIX 上的进程优先级与进程控制
2007-05-11 08:13:07 来源:WEB开发网通过 kill 和 nice 等工具管理进程非常简单,但如果要对进程进行更为细化的管理控制,又该如何呢?在使用 AIX® 的多处理器系统中,您可以将进程和线程分配给特定的处理器来实现此目的,但如何选择适当的应用程序并组织更大的系统,以便对该应用程序进行相应的优化呢?在本文中,您将了解可用于组织进程的各种工具,然后分析组织和选择进程背后的理论,并学习如何有效设置进程的优先级。
引言
作为一名 AIX® 管理员,您应该已经了解有关如何处理进程的基础知识,包括研究进程、设置进程的优先级和终止进程。此外,您还应该知道如何使用手头的各种工具来调整进程并相应地进行优化。这些工具包括 AIX 5.3 中新增的一些工具。要在系统上提供有效的进程控制,您必须了解进程和线程的定义以及二者之间的区别。本文还将介绍 ps、nice、schedtune 命令以及进程监视器控制台 (procmon)、AIX 工作负载管理器 (WLM) 和其他可供使用的工具。让我们先从进程和线程的定义开始:
进程——进程是指系统内部由命令、Shell 脚本或其他进程启动的活动。
线程——线程是一个独立的控制流,它与其他独立的控制流一起在进程内部的同一地址空间中运行。内核线程是单个顺序控制流。
看待这种区别的另一种方式是,进程是系统用于控制系统资源使用情况的实体,而线程则控制实际使用的处理器时间。大多数系统管理工具仍要求参考进程而不是线程。实际上,进程本身也拥有内核线程,每个进程可具有一个或多个内核线程(例如多线程应用程序)。对于线程,您可以在系统上的不同 CPU 中运行多个线程,从而真正利用多处理器计算机(对称多路处理机,又称 SMP 机)的优势。应用程序在设计上可拥有多个用户级线程,并将它们计划为由应用程序或 libpthread 中的 pthread 调度程序处理。多个控制线程允许应用程序同时为来自多个用户的请求提供服务。在 libpthread 实现中,用户线程位于虚拟处理器之上,而虚拟处理器本身又位于内核线程之上。本文将对进程的内核方面进行深入研究,同时探讨有助于提高整个系统管理效率的工具。为帮助您有效管理环境,我们将详细介绍久经试验的 UNIX® 命令以及很多可供 AIX 管理员使用的新型工具。
赞助商链接