这里提到的操作系统的“负载”包括两部分内容,一是介质资源的利用情况,二是系统中运行着的进程情况。 一般用df 命令查看当前的磁盘空间利用情况(如果磁盘文件已满,还继续运转,会导致Unix系统瘫痪,如果Unix的资源利用率达到90%时,就很危险了,不采取措施,会使系统崩溃,笔者有此经历),不同类型的Unix系统,df 后边所跟的参数不一样,如一般 Unix 为df -k,就能查到以kB为单位的磁盘利用百分比;而SCO Unix 是用df -iv命令来做这方面的查询的,其实大同小异。 查看当前的系统进程一般用ps命令,但是,确切地用数字反映出系统当前的“负载”情况,笔者建议用uptime命令,键入此命令后,系统出现如下信息(举例说明): 4:38pm up 5 days 6:24 1 user load average :2.01 , 2.04, 2.00 以上信息反映出了系统当前时间为4:38pm,系统从启动到现在已经5天了,目前登录系统的用户数为1。后边的三个参数值load average:2.01, 2.04,2.00非常重要,它们分别是系统运行队列中每隔1、5和15分钟所计算出的平均进程数。一般来说,如果这三个值由大到小排列,说明系统进程数在逐渐减少,不会产生系统负担;而在相反的情况下,说明系统进程数在膨胀。如果SCO Unix是10用户的,那么在load average 的值远大于10时,系统可能不能正常工作。解决这一问题的方法是,删除 /tmp 目录下的临时文件,再删除 /usr/spool/mqueue 下的文件,当然是在系统中有邮件系统运行的情况,这样就将目前的活动进程去掉了。这时如果再用uptime查看,平均进程数明显下降,系统运行恢复正常。还有很重要的一点是,如果系统中运行着邮件系统,每个邮件用户必须对应自己的邮箱文件,一般存放在/usr/spool/mail目录下,这些邮箱属于mail组,如果缺少邮箱文件,系统很快会自动死锁。
二、增加、删除邮件用户
下边是在SCO Unix下增加和删除邮件用户的例子,供读者参考。 # 增加用户 if [ ″$#″ -eq 1 ] then useradd -g mail -d /usr/email -s /bin/passwd ${1} passwd ${1} # nulfile是一个字节为0的空文件,复制其作为用户的初始邮箱 cp /usr/spool/mail/nulfile /usr/spool/mail/${1} cd /usr/spool/mail chgrp mail ${1} chown ${1} ${1} echo ″Added a user ${1} sucessful ″;exit else echo ″Error,user name ?″;exit fi 用useradd -g mail -d /usr/email -s /bin/passwd ${1}命令增加用户时,用户可用远程登录方式修改自己的口令,但只能做此操作。因此,最适用于邮件用户,既满足了用户需求,又对系统安全不造成威胁。
#删除用户 if [ ″$#″ -eq 1 ] then userdel ${1} rm -r /usr/spool/mail/${1} echo ″Deleted a user ${1} sucessful ″;exit else echo ″Error,has not this user! ″;exit fi