Abh*_*hek 7 linux opensuse cpu-usage linux-kernel
我正在运行一个加载大文件的脚本.我在单核OpenSuSe服务器和四核PC中运行相同的脚本.正如我所预期的那样,它比服务器中的速度快得多.但是,脚本会降低服务器的速度,使其无法执行任何其他操作.
我的剧本是
for 100 iterations
Load saved data (about 10 mb)
Run Code Online (Sandbox Code Playgroud)
时间myscript(在PC中)
real 0m52.564s
user 0m51.768s
sys 0m0.524s
Run Code Online (Sandbox Code Playgroud)
时间myscript(在服务器中)
real 32m32.810s
user 4m37.677s
sys 12m51.524s
Run Code Online (Sandbox Code Playgroud)
我想知道为什么当我在服务器中运行代码时"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
Run Code Online (Sandbox Code Playgroud)
我已经检查了这些东西,但我仍然不确定我的服务器中的真正问题是什么以及如何解决它.任何人都可以找出缓慢的可能原因吗?可能是什么解决方案?或者还有什么我应该检查的吗?
谢谢!
小智 3
您正在获得较高的系统活动,因为您正在执行的数据加载需要内核中发生的系统调用。无需升级服务器即可解决速度缓慢的问题。您可以修改调度优先级。请参阅和 的man页面。请参阅此处,尤其是:nicerenice
Niceness 值的范围为 -20(最高优先级,最低 Niceness)和 19(最低优先级,最高 Niceness)。
$ ps -lp 941
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 941 1 0 70 -10 - 1713 poll_s ? 00:00:00 sshd
$ nice -n 19 ./test.sh
My niceness value is 19
$ renice -n 10 -p 941
941 (process ID) old priority -10, new priority 10
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24316 次 |
| 最近记录: |