大鳄教程搜集整理的这篇文章主要介绍了linux–内核进程在高负载期间定期占用CPU,大鳄教程大鳄感觉挺不错的linux环境变量,如今分享给你们linux内核占用cpu高,也给你们做个参考。概述我运行一个具有24个内核的生产Web服务器,其中的工作是CPU和I/O密集型,但主要是CPU.当总CPU负载为~85%或更高时,我的脚本会延后执行,以保持负载的可管理性.因而,CPU永远不会比我的脚本晓得它才能处理更大的压力.如今,我的服务器在一次最长3小时的时间块内完成最大容量生产.大部分时间工作进展顺利,但在这段时间的中间,CPU系统负载一般会大幅降低.这是因为内核进程“events/
我运行一个具有24个内核的生产Web服务器,其中的工作是cpu和I/O密集型,但主要是cpu.当总cpu负载为~85%或更高时,我的脚本会延后执行,以保持负载的可管理性.因而,cpu永远不会比我的脚本晓得它才能处理更大的压力.
如今,我的服务器在一次最长3小时的时间块内完成最大容量生产.大部分时间工作进展顺利,但在这段时间的中间,cpu系统负载一般会大幅降低.这是因为内核进程“events/x”,“MIgration/x”和“ksoftirqd/x”,其中“x”是该进程的cpu编号.我早已读过,这表明内核正在努力排队,这会在压倒性的系统负载下发生.并且,正如我所提及的,我的cpu负载是主要的困局,故意保持在~85%以防止这些问题.cpu的这些内核使用会大大减低生产速率而且只会延长排队的任务.奇怪的是,在大概30分钟后,系统负载将消失,内核进程降低到零cpu使用率,以后才开始再度占用cpu.在整个这段时间内,输入cpu的工作量没有改变,一般处理得挺好.并且,当这种内核进程启动时,它会完全杀害生产.
以下是其中一个风波中“top-uroot”的输出.用户cpu使用率为49%,由于系统使用率为40%.一般这应当是用户~85%,系统~5%.并且,没有iowait,系统负载平均值为22(24个核心中),这是正常的.
热门次数–13:10:49最多44天,20:29,1位用户,平均负载:22.87,22.73,21.36
任务:总共622,24跑,585睡,0停,13僵尸
cpu(s):49.4%us,40.3%sy,0.0%ni,10.1%id,0.1%wa,0.0%hi,0.2%si,0.0%st
显存:总计32728060k,使用31045092k,免费1682968k,缓冲353768k
交换:4194300k总计,243136k使用,3951164k免费,19117436k缓存
PID用户PRNIVIRTRESSHRS%cpu%MEMTIMECOMMAND
51rootRT0000S11.10.0436:03.06migration/12
100root200000S9.50.049:19.45events/1
114root200000S5.90.048:14.75events/15
3rootRT0000S4.30.0517:58.05migration/0
112root200000S3.60.042:00.54events/13
27rootRT0000S2.30.0200:59.58migration/6
8149root200165m77323928S2.30.00:00.07exim
15rootRT0000S2.00.0450:05.62migration/3
39rootRT0000S2.00.0178:08.17migration/9
113root200000S1.60.044:00.04events/14
178root200000R1.60.053:27.57kacpid
63rootRT0000S1.30.0439:11.96migration/15
81root200000S1.00.017:14.83ksoftirqd/19
104root200000S1.00.044:58.55events/5
115root200000S1.00.047:18.46events/16
9root200000S0.70.013:56.20ksoftirqd/1
25root200000S0.70.012:46.52ksoftirqd/5
57root200000S0.70.011:12.62ksoftirqd/13
75rootRT0000S0.70.0181:00.24migration/18
118root200000S0.70.030:13.06events/19
10497root2007796462444096S0.70.017:40.25httpd
当cpu负载严格控制为可管理时,是否有可能解释这种过程的行为?显存不是问题,由于缓冲区/缓存的使用率绝不会超过30%的系统容量.在搜索网路时,每位人都归罪于压倒性的系统负载,但我的服务器的行为并不表明所使用的资源应当引起这些锁定.
任何建议,将不胜感激.
编辑:我早已在答案部分发布了其实是解决方案的内容.
解决方式
看来内核进程可能在转换到/从交换过程中泄露了cpu时间.服务器的缓存设置在不知情的情况下被重置,将swappiness设置为60.从“sar-W”的输出,挂起虽然与高负载时段一致,在此期间pswpin/s和pswpout/s很大(小于2.00左右,有时高达15.00).将swappiness设置为1以后,我没有遇见来自内核进程的相同挂起,但是sar-W仍然显示接近零的值.总而言之,在大量且快速变化的资源需求期间,在高负载和大显存传输期间的积极交换虽然正在使系统深陷窘境.
大鳄总结
以上是大鳄教程为你搜集整理的linux–内核进程在高负载期间定期占用CPU全部内容linux内核占用cpu高linux 下载,希望文章才能帮你解决linux–内核进程在高负载期间定期占用CPU所遇见的程序开发问题。
假如认为大鳄教程网站内容还不错,欢迎将大鳄教程推荐给程序员好友。