说明:本测试在fedora10/11之上完成。
1 当用户的某一进程的CPU占有率达到100%时,对系统影响如何呢?为简便我们使用一段脚本来模拟100%运行的进程,脚本内容如下:
while [ 1 ]; do |
而当使用renice命令调整跳转这个100%运行的进程的优先级到最高优先级(40)时:
renice -n -20 PID |
它对系统性能的影响就开始明显的表现了,当系统中有两个优先级达到40的100%运行的进程时,系统基本就无法正常使用了。
如 上测试得出的结论是:当存在多个大运算量的进程,而且它们的优先级比较高时,这些高优先级进程占有了大量的CPU执行时间,而导致其他程序无法得到执行机 会而处于饥饿状态,这就将会显著影响系统的性能,直接表现就是系统响应用户输入非常慢。但我们一般使用系统都是普通用户,而普通用户的进程默认是不会获得 很高的运行优先级的,那么我们遇到的系统很卡的情况到底是那种情况呢?
2 内存测试
内存测试使用一个内存占有量非常大的程序来测试,该程序代码如下(test.c):
#include <stdio.h>
val = val - size; |
编译该程序:
gcc -g -o test test.c |
./test |
到此测试结束。个人的一个结论是,系统比较卡时一般是有个别程序同时占用了大量CPU和内存,这样可以通过处理次进程的方式来改善性能情况。但也可能是整个系统中进程累积的资源占用比较高,这种情况下改善情况往往就是要升级电脑硬件了。
另外反现一个情况是:当系统内存不够用时,系统会自动杀死那些占用大量内存的程序。