与磁盘或内存相关的有关问题
正如大部分实内存可用来缓冲文件一样,系统的页面空间可由那些强制排除在 RAM 外的程序工作数据用作临时存储器。 vmstatit 脚本总结了内容较多的 vmstat -s 报告,该报告提供了自系统启动以来大量系统活动的累积计数。 time 命令的输出证实了 I/O 相关性的存在。页面调进的增加显示了为满足 cp 命令必需的 I/O。页面调出的增加表明文件足够大,能从内存进行脏页(未必是它自身)的强制写入。没有累积调页空间 I/O 计数的变化的事实证明 cp 命令不会构建大到足以使测试机器的内存过载的数据结构。 该版本的 vmstatit 脚本报告 I/O 的顺序是有意图的。典型程序读文件输入,然后写文件输出。另一方面,页面调度活动通常从写出不合适的工作段页面开始。只有当程序试图访问时页面才会被读回。自系统引导以来,测试系统经历的调页空间页面调出几乎是调页空间页面调进的两倍,这一事实表明至少有一些运行于该系统的程序已将数据保存在程序结束之前不会再次访问的内存中。内存限制程序提供了更多信息。另请参阅内存性能。 下面列示了 I/O 相关性的症状: 来将 rmss 命令隔离的内存释放回操作系统,从而将系统恢复至通常容量。与磁盘或内存相关的问题
vmstat -s >temp.file # cumulative counts before the command
time $1 # command under test
vmstat -s >>temp.file # cumulative counts after execution
grep "pagi.*ins" temp.file >>results # extract only the data
grep "pagi.*outs" temp.file >>results # of interest
# vmstatit "cp file1 file2" 2>results
real 0m0.03s
user 0m0.01s
sys 0m0.02s
2323 paging space page ins
2323 paging space page ins
4850 paging space page outs
4850 paging space page outs
vmstat -s >temp.file
time $1
vmstat -s >>temp.file
echo "Ordinary Input:" >>results
grep "^[ 0-9]*page ins" temp.file >>results
echo "Ordinary Output:" >>results
grep "^[ 0-9]*page outs" temp.file >>results
echo "True Paging Output:" >>results
grep "pagi.*outs" temp.file >>results
echo "True Paging Input:" >>results
grep "pagi.*ins" temp.file >>results
real 0m2.09s
user 0m0.03s
sys 0m0.74s
Ordinary Input:
46416 page ins
47132 page ins
Ordinary Output:
146483 page outs
147012 page outs
True Paging Output:
4854 paging space page outs
4854 paging space page outs
True Paging Input:
2527 paging space page ins
2527 paging space page ins
# cc -c ed.c
# vmstatit "cc -c ed.c" 2>results
real 0m7.76s
user 0m7.44s
sys 0m0.15s
Ordinary Input:
57192 page ins
57192 page ins
Ordinary Output:
165516 page outs
165553 page outs
True Paging Output:
10846 paging space page outs
10846 paging space page outs
True Paging Input:
6409 paging space page ins
6409 paging space page ins
# rmss -c 8
real 0m9.87s
user 0m7.70s
sys 0m0.18s
Ordinary Input:
57625 page ins
57809 page ins
Ordinary Output:
165811 page outs
165882 page outs
True Paging Output:
11010 paging space page outs
11061 paging space page outs
True Paging Input:
6623 paging space page ins
6701 paging space page ins
# rmss -r