杭州网站设计渠道,重庆如何软件网站推广,安装wordpress主题后 显示乱码 怎么解决,鹿泉专业网站建设十、 进程管理 进程就是运行中的程序#xff0c;一个运行着的程序#xff0c;可能有多个进程。 比如 LinuxSir.Org 所用的 WWW 服务器是 apache 服务器#xff0c;当管理员启动服务后#xff0c;可能会有好多人来访问#xff0c;也就是说许多用户来同时请 求 htt… 十、 进程管理 进程就是运行中的程序一个运行着的程序可能有多个进程。 比如 LinuxSir.Org 所用的 WWW 服务器是 apache 服务器当管理员启动服务后可能会有好多人来访问也就是说许多用户来同时请 求 httpd 服务 apache 服务器将会创建有多个 httpd 进程来对其进行服务。 1 、 进程分类 进程一般分为交互进程、批处理进程和守护进程三类。 值得一提的是守护进程总是活跃的一般是后台运行守护进程一般是由系统在开机时通过脚本自 动激活启动或超级管理用户 root 来启动。比如在 Fedora 或 Redhat 中我们可以定义 httpd 服务器的启 动脚本的运行级别此文件位于 /etc/init.d 目录下文件名是 httpd /etc/init.d/httpd 就是 httpd 服务器 的守护程序当把它的运行级别设置为 3 和 5 时当系统启动时它会跟着启动。 [rootlocalhost ~]# chkconfig --level 35 httpd on 由于守护进程是一直运行着的所以它所处的状态是等待请求处理任务。比如我们是不是访问 LinuxSir.Org LinuxSir.Org 的 httpd 服务器都在运行等待着用户来访问也就是等待着任务处理。 2 、进程的属性 进程 ID PID) 是唯一的数值用来区分进程 父进程和父进程的 ID PPID) 启动进程的用户 ID UID 和所归属的组 GID 进程状态状态分为运行 R 、休眠 S 、僵尸 Z 进程执行的优先级 进程所连接的终端名 进程资源占用比如占用资源大小内存、 CPU 占用量 3 、父进程和子进程 他们的关系是管理和被管理的关系当父进程终止时子进程也随之而终止。但子进程终止父进 程并不一定终止。比如 httpd 服务器运行时我们可以杀掉其子进程父进程并不会因为子进程的终止 而终止。 在进程管理中当我们发现占用资源过多或无法控制的进程时应该杀死它以保护系统的稳定 安全运行 4 、进程管理命令 4.1 、 ps ps 为我们提供了进程的一次性的查看它所提供的查看结果并不动态连续的如果想对进程时间监控 应该用 top 工具。 4.1.1 、 ps 的参数说明 ps 提供了很多的选项参数常用的有以下几个 l 长格式输出 u 按用户名和启动时间的顺序来显示进程 j 用任务格式来显示进程 f 用树形格式来显示进程 a 显示所有用户的所有进程包括其它用户 x 显示无控制终端的进程 r 显示运行中的进程 ww 避免详细参数被截断 我们常用的选项是组合是 aux 或 lax 还有参数 f 的应用 ps aux 或 lax 输出的解释 USER 表示启动进程用户。 PID 表示进程标志号。 %CPU 表示运行该进程占用 CPU 的时间与该进 程总的运行时间的比例。 %MEM 表示该进程占用内存和总内存的比例。 VSZ 表示占用的虚拟内存大 小以 KB 为单位。 RSS 为进程占用的物理内存值以 KB 为单位。 TTY 表示该进程建立时所对应的 终端 ? 表示该进程不占用终端。 STAT 表示进程的运行状态包括以下几种代码 D 不可中断的 睡眠 R 就绪在可运行队列中 S 睡眠 T 被跟踪或停止 Z 终止僵死的进程 Z 不 存在但暂时无法消除 W 没有足够的内存分页可分配 高优先序的进程 N 低优先序的进程 L 有内存分页分配并锁在内存体内实时系统或 I/O 。 START 为进程开始时间。 TIME 为执行的时 间。 COMMAND 是对应的命令名。 4.1.2 ps 应用举例 实例一 ps aux 最常用 [rootlocalhost ~]# ps -aux |more 可以用 | 管道和 more 连接起来分页查看 [rootlocalhost ~]# ps aux ps001.txt [rootlocalhost ~]# more ps001.txt 这里是把所有进程显示出来并输出到 ps001.txt 文件然后再通过 more 来分页查看 实例二和 grep 结合提取指定程序的进程 [rootlocalhost ~]# ps aux |grep httpd root 4187 0.0 1.3 24236 10272 ? Ss 11:55 0:00 /usr/sbin/httpd apache 4189 0.0 0.6 24368 4940 ? S 11:55 0:00 /usr/sbin/httpd apache 4190 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpd apache 4191 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpd apache 4192 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpd apache 4193 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpd apache 4194 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpd apache 4195 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpd apache 4196 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpd root 4480 0.0 0.0 5160 708 pts/3 R 12:20 0:00 grep httpd 实例二父进和子进程的关系友好判断的例子 [rootlocalhost ~]# ps auxf |grep httpd root 4484 0.0 0.0 5160 704 pts/3 S 12:21 0:00 \_ grep httpd root 4187 0.0 1.3 24236 10272 ? Ss 11:55 0:00 /usr/sbin/httpd apache 4189 0.0 0.6 24368 4940 ? S 11:55 0:00 \_ /usr/sbin/httpd apache 4190 0.0 0.6 24368 4932 ? S 11:55 0:00 \_ /usr/sbin/httpd apache 4191 0.0 0.6 24368 4932 ? S 11:55 0:00 \_ /usr/sbin/httpd apache 4192 0.0 0.6 24368 4932 ? S 11:55 0:00 \_ /usr/sbin/httpd apache 4193 0.0 0.6 24368 4932 ? S 11:55 0:00 \_ /usr/sbin/httpd apache 4194 0.0 0.6 24368 4932 ? S 11:55 0:00 \_ /usr/sbin/httpd apache 4195 0.0 0.6 24368 4932 ? S 11:55 0:00 \_ /usr/sbin/httpd apache 4196 0.0 0.6 24368 4932 ? S 11:55 0:00 \_ /usr/sbin/httpd 这里用到了 f 参数父与子关系一目了然 例三找出消耗内存最多的前 10 名进程 # ps -auxf | sort -nr -k 4 | head -10 例四找出使用 CPU 最多的前 10 名进程 # ps -auxf | sort -nr -k 3 | head -10 4.2 、 pstree 功能 pstree 命令列出当前的进程以及它们的树状结构。 格式 pstree [ 选项 ] [pid|user] 主要选项如下 -a 显示执行程序的命令与完整参数。 -c 取消同名程序合并显示。 -h 对输出结果进行处理高亮显示正在执行的程序。 -l 长格式显示。 -n 以 PID 大小排序。 -p 显示 PID 。 -u 显示 UID 信息。 -G 使用 VT100 终端编码显示。 -U 使用 UTF-8 Unicode 编码显示。 说明使用 ps 命令得到的数据精确但数据庞大这一点对掌握系统整体概况来说是不容易的。 pstree 正好可以弥补这个缺憾。它能将当前的执行程序以树状结构显示。 pstree 支持指定特定程序 PID 或使用者 USER 作为显示的起始。 应用实例如下。 进程启动的时候可能会产生自己的一个子进程。运行 pstree 命令就可以很容易地看到这些信息。以超 级用户权限运行 pstree 命令对程序名称相同的会自动合并所有 |-httpd---8*[httpd] 即表示系统中有 8 个 httpd 进程产生的 子进程。 4.3 、 top top 命令用来显示系统当前的进程状况。 格式 top [ 选项 ] 主要选项如下。 d 指定更新的间隔以秒计算。 q 没有任何延迟的更新。如果使用者有超级用户则 top 命令将会以最高的优先序执行。 c 显示进程完整的路径与名称。 S 累积模式会将已完成或消失的子进程的 CPU 时间累积起来。 s 安全模式。 i 不显示任何闲置 Idle 或无用 Zombie 的进程。 n 显示更新的次数完成后将会退出 top 。 说明 top 命令和 ps 命令的基本作用是相同的都显示系统当前的进程状况。但是 top 是一个动态显 示过程即可以通过用户按键来不断刷新当前状态。这里结合下图来说明它给出的信息。 第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。 第二行显示的是 Tasks: 114 total 进程总数、 2 running 正在运行的进程数、 110 sleeping 睡眠的进程数、 0 stopped 停止的进程数、 2 zombie 僵尸进程数 第三行显示的是目前 CPU 的使用情况 Cpu(s): 0.3% us 用户空间占用 CPU 百分比、 1.0% sy 内核空间 占用 CPU 百分比、 0.0% ni 用户进程空间内改变过优先级的进程占用 CPU 百分比、 98.7% id 空 闲 CPU 百分比、 0.0% wa 等待输入输出的 CPU 时间百分比、 0.0% hi 、 0.0% si 第四行显示物理内存的使用情况 Mem: 191272k total 物理内存总量、 173656k used 使用的物理内存 总量、 17616k free 空闲内存总量、 22052k buffers 用作内核缓存的内存量 第五行显示交换分区使用情况 Swap: 192772k total 交换区总量、 0k used 使用的交换区总量、 192772k free 空闲交换区总量、 123988k cached 缓冲的交换区总量、内存中的内容被换出到交换区 而后又被换入到内存但使用过的交换区尚未被覆盖该数值即为这些内容已存在于内存中的 交换区的大小。相应的内存再次被换出时可不必再对交换区写入。 第六行显示的项目最多下面列出了详细解释。 PID Process ID 进程标志号是非零正整数。 USER 进程所有者的用户名。 PR 进程的优先级别。 NI 进程的优先级别数值。 VIRT 进程占用的虚拟内存值。 RES 进程占用的物理内存值。 SHR 进程 使用的共享内存值。 STAT 进程的状态其中 S 表示休眠 R 表示正在运行 Z 表示僵死状态 N 表 示该进程优先值是负数。 %CPU 该进程占用的 CPU 使用率。 %MEM 该进程占用的物理内存和总内 存的百分比。 TIME 该进程启动后占用的总的 CPU 时间。 COMMAND 进程启动的启动命令名称如 果这一行显示不下进程会有一个完整的命令行。 top 命令使用过程中还可以使用一些交互的命令来完成其他参数的功能。这些命令是通过快捷键启 动的。 空格 立刻刷新。 A 分类显示系统不同资源的使用大户。有助于快速识别系统中资源消耗多的任务。 f 添加删除所要显示栏位 . o 调整所要显示栏位的顺序 . r 调整一个正在运行的进程 Nice 值 . k 结束一个正在运行的进程 . z 彩色 / 黑白显示开关 P 根据 CPU 使用大小进行排序。 T 根据时间、累计时间排序。 q 退出 top 命令。 m 切换显示内存信息。 t 切换显示进程和 CPU 状态信息。 c 切换显示命令名称和完整命令行。 M 根据使用内存大小进行排序。 W 将当前设置写入 /.toprc 文件中。这是写 top 配置文件的推荐方法。 可以看到 top 命令是一个功能十分强大的监控系统的工具对于系统管理员而言尤其重要。但是 它的缺点是会消耗很多系统资源。