周末加班,ssh登录服务超慢,top确认了系统负荷,达到了12以上。 跟踪后发现,其他同事利用周末跑了很多程序。
系统反应很慢。 我该怎么办?
两种方法:
(一)降低其他用户程序的优先级。
执行top命令:
1 piduserprnivirtresshrs % CPU % memtimecommand 220211 lix 205703 m 3.4g 558 ms 473.443.6662336041.75 datai 35748 zhangren 20133 m 45023 DM 200261 m 33802184 s6. 30.045336046.62 kdm _ greet 528597 zhangren 30103138817721432 s6.3. 00:00002.0 75 fuzzy flakes 628666
说明如下。
USER:表示执行者身份
PID :表示此过程的代码号
宣传:表示此进程可以运行的优先级,其值越小,运行得越快
NI表示此进程的nice值
这里前面的两条信息,我们很容易理解,但后面两条奇怪的信息,一条是公关,一条是倪。 这到底是什么? 相反,PR更容易理解进程的优先级,也就是程序由CPU执行的优先级,该值越小,进程的优先级越高。 那倪呢? 这是一个nice值,表示进程可以执行的优先级修改值。 如上所述,由于PR值越小,执行得越快,因此当添加nice值时,PR为: pr[new]=pr[old]nice。 因此,如果nice的值为负值,则程序的优先级值会变小。 也就是说,优先级越高,执行得越快。
在过去,进程的nice值不是进程的优先级,而不是概念,但进程的nice值会影响进程优先级的变化。
更改进程优先级的命令主要有两个。 我是nice,renice
1、开始运行程序后,指定nice值: nice
nice-n-5/usr/local/MySQL/tmdc/mysqld _ safe
nice命令详细信息
功能说明:设定优先顺序。
语法: nice [-n ][--help][--version][运行命令]
补充说明: nice命令可以更改程序运行的优先级。
参数:-n或-或-adjustment=设置要执行的命令的优先级。 的范围为-20-19,其中-20最高,19最低,只有系统管理员才能设置负数等级。
–帮助联机帮助。
–version显示版本信息。
——3354335433543354——3354——————33543354——3354————3——33——3333——333333——333333——333333——3333——33——3——33——333——35435433543333
2.1、调整现有进程的nice:renice
renice -5 -p 5200
#PID5200的进程nice设置为-5而不是原始值
renice命令详细信息
功能说明:调整优先顺序。
语法: renice [优先级][-g .][-p .][-u .]
补充说明: renice命令重新调整程序运行的优先级。 默认情况下,进程标识符指定进程的优先级。 也可以指定进程组或用户名来调整优先级,以及更改属于该进程组或用户的所有进程的优先级。 等级范围从- 20–19开始,只有系统管理员可以更改其他用户程序的优先权,只有系统管理员可以设置负等级。 注意: nice值越大,进程优先级值越大,在CPU上运行的机会越少。
参数:
使用-g程序组名称更改属于该程序组的所有程序的优先级。
-更改p进程的优先级。 此参数是默认值。
-u指定用户名并更改属于该用户的所有程序的优先级。
使用以下命令降低用户的所有程序的优先级:
renice 20-u张格伦xxxxx
恢复正常:
renice0- u 张格ren