gpt4 book ai didi

linux - 为什么系统 CPU 时间 (% sy) 很高?

转载 作者:IT王子 更新时间:2023-10-29 00:35:47 29 4
gpt4 key购买 nike

我正在运行一个加载大文件的脚本。我在单核 OpenSuSe 服务器和四核 PC 上运行了相同的脚本。正如在我的 PC 中预期的那样,它比在服务器中快得多。但是,该脚本会降低服务器速度并使其无法执行任何其他操作。

我的脚本是

for 100 iterations
Load saved data (about 10 mb)

时间脚本(PC端)

real    0m52.564s
user 0m51.768s
sys 0m0.524s

time myscript(在服务器中)

real    32m32.810s
user 4m37.677s
sys 12m51.524s

我想知道为什么当我在服务器中运行代码时“sys”如此之高。我使用 top 命令检查内存和 cpu 使用情况。 enter image description here似乎还有空闲内存,所以交换不是原因。 % sy 如此之高,这可能是服务器速度的原因,但我不知道是什么导致 % sy 如此之高。使用最高 CPU 百分比 (99%) 的进程是“myscript”。屏幕截图中的 %wa 为零,但有时会变得非常高 (50 %)。

脚本运行时,load average大于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

我已经检查了这些东西,但我仍然不确定我的服务器中真正的问题是什么以及如何修复它。任何人都可以找出缓慢的可能原因吗?有什么解决办法?或者还有什么我应该检查的吗?

谢谢!

最佳答案

您获得了很高的 sys 事件,因为您正在执行的数据加载需要发生在内核中的系统调用。在不升级服务器的情况下解决您的缓慢问题是可能的。您可以修改调度优先级。请参阅 man 页面以了解 nicerenice。参见 here尤其是:

友好度值的范围从 -20(最高优先级,最低友好度)到 19(最低优先级,最高友好度)。

$ 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

关于linux - 为什么系统 CPU 时间 (% sy) 很高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19547019/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com