Unix系统资源管理(1)-系统进程监控

 系统进程监控

Unix能够监控进程执行,并且能够有限的制定执行优先级。这样做,可以控制CPU时间分配并间接控制内存的使用。

1、uptime命令:

 uptime

 3:24pm up 2 days, 2:41,16 users,load average:1.90,1.43,1.33

 Uptime命令将会报告当前时间、系统运行时间以及三个负荷均值,负荷均值是对CPU使用量的粗略度量。这三个均值分别报告了最后1分钟、最后5分钟、最后15分钟的平均活动进程数,均值较高通常意味着系统比较繁忙。多大均值算高呢?通常取决于具体的系统。理想的负载负荷应该在3-5以下。更进一步,相同的负荷均值,对于不同的系统运行也不一样。例如有些工作站运行X窗口时占用单个CPU的后台作业,也会使相应时间变慢,虽然此时系统的平均负荷依然比较低。因此CPU的可用性只是影响系统性能的一个因素,所以低负荷均值并不能保证快速的响应时间。

2、PS命令与TOP命令:

Ps命令可以提供一个完整的系统活动状况,该命令的控制选项可以列出需要现实的进程的详细信息。

在基于BSD的系统中可以使用ps aux形式命令来获得所有进程列表,该列表按照使用CPU的百分比大小进行排序。在基于System V(如:IBM-AIX系列以及HP-UNIX系列)的系统中该列表按照进程的PID进行排序。具体的PS命令输出如下:

User(BSD)           进程所有者用户名

UID(System V)

PID                 进程ID

%CPU               估计的CPU消耗百分比

%MEM              估计的系统内存消耗百分比

SZ                  使用的虚拟内存

RSS                 使用的物理内存

TTTTY             和进程关联的TTY

STATBSD        当前进程状态,下力值中的一个:

SSystem V        R     正在运行的进程

                     S     休眠

                     I      空闲

                     T     停止

                     Z     死进程

                     D     等待磁盘

                     XSystem V 增长,等待内存

                     K(AIX) 可用内存进程

          W(BSD 被换出

                    NBSD 执行nice命令降低了优先级

                    < (BSD)  执行了nice命令人工提升了优先级

                    TIME 使用的总CPU时间

COMMAND         进程执行的命令

STIMESystem V 进程开始的时间或日期

START BSD

F                  进程标志

PPID               父进程的ID

NI                 进程优先级

C (System V)        CPU使用因子,调度程序靠它来计算执行优先级

CPBSD

PRI                实际的进程优先级(动态地重新计算)

WCHAN            指定进程所等待的事件

 

TOP命令会显示系统运行时间、总的进程数和当前的CPU、内存、交换空间的使用量,并且会按照CPU的使用量进行排序。默认情况下TOP命令每5秒钟进行一次刷新,可以使用如下命令来指定刷新时间:

FreeBSD   top –s 8

Linux     top d8

HP-UNIX  top –s 8

TOP会持续的运行直到用户按下q键。大多数版本的TOP还允许和显示的进程进行交互(HP-UNIXTOP的命令只用于显示),当按下kr键分别可以结束进程以及重新指定进程优先级。对于这两种情况TOP命令都将会提示输入需要进行改变的进程PID

3/Proc文件系统:

大多数Unix系统(HP-UNIX)除外和所有的Linux系统都支持/proc文件系统,在大多数系统上,/proc文件系统完全由编号的文件或者子目录组成,他们都以对应的进程PID命名。Linux/proc文件系统进行了扩展,包含了许多保存系统设置和当前系统数据的其他文件和子目录。例如cpuinfo文件包含了处理器信息,使用cat /proc/cpuinfo命令可以查看当前系统的处理器信息。

   此外/proc下还包含许多子目录,这些子目录中也包含了大量有关系统的重要信息。比如sys子目录下提供了对内和变量的访问,可以修改其中的一些文件,来更改内和变量的默认值。但是此操作一定要相当谨慎。

4、进程资源限制:

   Unix提供了非常简单的进程资源限制命令。资源限制分为两种类型:软限制和硬限制。软限制是创建新进程时默认应用的资源限制。用户可以增加该值,最大为系统的硬限制,再往上只能由超级用户来增加。硬限制是资源使用的绝对最大值。

   bash shell为例可以使用ulimited –a来显示当前系统资源的软限制,使用ulimited –Ha来显示当前系统的硬限制。可以使用如下命令设置各种资源限制:

ulimit –t   单位:秒     CPU使用时间

ulimit –f   单位:kb     最大文件尺寸

ulimit –d   单位:kb     最大进程数据段

ulimit –s   单位:kb     最大进程堆栈段

ulimit –m  单位:kb     最大物理内存

ulimit –c  单位:kb      最大核心文件尺寸

ulimit –u  单位:n      最大进程数

ulimit –v  单位:kb     最大虚拟内存

命令事例:ulimit –t unlimited 设置CPU使用时间为无限

          ulimit –m 65536   设置最大物理内存使用量为64MB

通常将不经常使用核心文件的普通用户的核心文件大小限制设置为0,比较可取,因为这样可以防止这些用户创建该文件。

   AIX中可以通过修改文件/etc/security/limits文件,来更改进程资源限制。或者可以通过chuser命令来改变用户的进程资源限制。如:chuser rss=10240 wangcai,将wangcai用户的最大物理内存使用量置为10M。(具体资源限制参数可以去查看联机帮助手册)。

5、结束进程:

   Unix或者Linux系统中可以使用kill命令来结束一个进程,改命令以进程PID为参数。如果使用该命令无法结束一个进程,可以使用kill -9 PID命令来强行结束一个进程。一般情况下这肯定能够销毁一个进程,但是该命令不能使进程在退出前进行必要的清理工作,因此可能使进程处理的文件处于不协调的状态。另外对挂起的进程必须首先恢复,然后才能使用kill命令来结束。

   大多数系统还提供了killall命令来一次结束多个进程。对于LinuxFreeBSD系统还提供了killall的增强版本,使该命令可以接受第二个参数,如:killall –kill find该命令可以结束所有正在运行find命令的进程。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值