- 论坛徽章:
- 1
|
写了一早晨,我还会写内存,还有硬盘的优化。
希望对大家有用。
如何维护好你的系统,使它发挥到最好的水平。
首先是你的CPU性能如何,那如何知道自己的CPU性能是否已饱和。下面咱门来讨论吧。
如果CPU的运行速度不够快,运行队列上的数目就不能始终不能保持较底的水平,此时就发生了饱和。
那如何知道自己CPU是否已经饱和,这时你就要监控CPU的使用。
而最好的监控方式就是通过sar命令和rtpm来监控。
后面我主要会以sar命令来解释,rtpm其实也是一样的,如果你想对rtpm有更多的了解,可以man rtpm看它的手册页。(很长,我看了一点就不
想在看了。)
要使用sar命令来检查cpu的饱和情况,使用两个参数-u和-q.
使用-u选项所显示的队列报告了cpu的用户进程,系统进程,等待I/O和空闲时间上的百分比。
来举个列子吧:
sar -u 1 15 (注:这个表示一秒监控一次,一共报告15次,我是为了节约时间,大家也可以把监控时间加长。)
# sar -u 1 15
UnixWare uw713 5 7.1.3 i386 03/26/03
11:25:03 %usr %sys %wio %idle %intr
11:25:04 88 2 10 0 0
11:25:05 57 4 39 0 0
11:25:06 1 4 95 0 0
11:25:07 21 2 77 0 0
11:25:08 79 3 18 0 0
11:25:09 71 7 22 0 0
11:25:10 95 3 2 0 0
11:25:11 94 3 3 0 0
11:25:12 87 6 7 0 0
11:25:13 93 6 1 0 0
11:25:14 84 15 1 0 0
11:25:15 5 0 81 14 0
11:25:16 31 2 35 32 0
11:25:17 30 0 70 0 0
11:25:18 3 7 65 21 4
Average 56 4 35 4 0
如果%idle值小于等于30%,它表示一个系统被困在处理器的能力上。如果有很底的%idle值和很高的%usr,%sys数值,cpu就已经饱和了。
sar -q 1 15
-q的选项指示在运行队列中当前有多少进程正竞争CPU的资源。
# sar -q 1 15
UnixWare uw713 5 7.1.3 i386 03/26/03
11:28:18 prunq %prunocc runq %runocc swpq %swpocc
11:28:19 3.0 100
11:28:20 2.0 100
11:28:21
11:28:22 1.0 100
11:28:23
11:28:24
11:28:25
11:28:26 2.0 100 1.0 100
11:28:27
11:28:28 1.0 100 1.0 100
11:28:29 1.0 100
11:28:30
11:28:31
11:28:32 1.0 100 1.0 100
11:28:33 3.0 100
Average 1.5 26 1.7 20 1.5 26
cpu的饱和表现在,prunq runq的数值超过2和%prunocc %runocc数值大于90%。
另外cpu的系统时间不应该超过用户时间的两倍,否则系统就没有有效的利用。
另外多说一句,你可以使用rtpm监控时,一定注意cpu用在等待I/O的时间不应该超过10%,高的I/O等待时间通常表示cpu正在等待磁盘。
好了大家知道如何识别cpu的饱和,现在咱们来讲如何CPU的资源。
1. 增加硬件(感觉这一段自己写了都象废话,不过想想还是写上吧。)
升级一个更快的cpu。
升级到多个cpu。
换一块更快的硬盘或是改变一的硬盘控制器,比如scsi,raid卡一类的。
对了加大内存也是很重要的。(曾经对电信的一台服务器做过一次检查,系统老是不能很好的工作,cpu也很不错,双xoen的,查到最后发现问
题就是它内存的原因,只有1GB,后来内存扩到了3GB后什么问题都没了,所以内存很重要。)
2. 对核心参数的优化
MAXUP 这个核心参数的作用是,在给定的时间,控制一个非超级用户可以运行的用户进程的数目。
减少这个值可以限制一个用户可以运行的进程的数目。这个值一般在30至500之间,其缺省值是80。 |
|