我正在运行一个加载大文件的脚本。我在单核 OpenSuSe 服务器和四核 PC 中运行了相同的脚本。正如我的 PC 所预期的那样,它比服务器快得多。但是,该脚本会减慢服务器的速度,并使其无法执行其他任何操作。
我的脚本是
for 100 iterations
Load saved data (about 10 mb)
时间 myscript(在 PC 中)
real 0m52.564s
user 0m51.768s
sys 0m0.524s
时间 myscript(在服务器中)
real 32m32.810s
user 4m37.677s
sys 12m51.524s
我想知道为什么当我在服务器中运行代码时“sys”如此之高。我使用 top 命令来检查内存和 cpu 的使用情况。 似乎还有空闲内存,所以交换不是原因。% sy 这么高,可能是服务器速度的原因,但我不知道是什么导致 % sy 这么高。使用最高百分比 CPU (99%) 的进程是“myscript”。屏幕截图中的 %wa 为零,但有时它会变得非常高(50 %)。
脚本运行时,平均负载大于 1,但从未见过高达 2。
我还检查了我的光盘:
strt:~ # hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 16480 MB in 2.00 seconds = 8247.94 MB/sec
Timing buffered disk reads: 20 MB in 3.44 seconds = 5.81 MB/sec
john@strt:~> df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 245G 102G 131G 44% /
udev 4.0G 152K 4.0G 1% /dev
tmpfs 4.0G 76K 4.0G 1% /dev/shm
我已经检查了这些东西,但我仍然不确定我的服务器中的真正问题是什么以及如何解决它。任何人都可以找出缓慢的可能原因吗?有什么解决办法?或者还有什么我应该检查的吗?
谢谢!