当页导航

cpu中sys高后怎么定位相关问题哪

cpu利用率中如果sys很高,可能的原因有哪些哪?都有哪些情况会导致cpu利用率的sys高。显示全部

cpu利用率中如果sys很高,可能的原因有哪些哪?

都有哪些情况会导致cpu利用率的sys高。

收起
希望获得:具体解决

5回答

杨建旭杨建旭技术经理 , 中国人民银行清算总中心
黎绍永wuwenpin一点点微笑等赞同了此回答 
如果系统态占比比较大,一般有以下几类原因:(1)为了追求效率,减少用户态到系统态的转换,把用户态的function改到系统态,例如:一些驱动程序,以显卡驱动最为常见(2)系统有IO问题,比如频繁调用sync函数做缓存到磁盘的数据同步,就会产生大量sys%,并且这个sys%中,大量的是kernel态的wait和sync...显示全部

如果系统态占比比较大,一般有以下几类原因:

(1)为了追求效率,减少用户态到系统态的转换,把用户态的function改到系统态,例如:一些驱动程序,以显卡驱动最为常见

(2)系统有IO问题,比如频繁调用sync函数做缓存到磁盘的数据同步,就会产生大量sys%,并且这个sys%中,大量的是kernel态的wait和sync。

     再比如,反复load/unload so文件。

(3)应用设计问题

收起
 2016-12-29
张文正张文正系统工程师 , 神州数码信息服务股份有限公司
彬彬aixchina赞同了此回答
可以先看一下是系统中那些进程占用cpu较高,aix 下用命令ps aux|grep -v USER|sort +2|tail -n 10 可以看占cpu高的前10个进程显示全部

可以先看一下是系统中那些进程占用cpu较高,aix 下用命令ps aux|grep -v USER|sort +2|tail -n 10 可以看占cpu高的前10个进程

收起
 2016-12-29
nitkeynitkey系统架构师 , ECT
aixchina彬彬赞同了此回答
首先"sys"高代表了CPU花了很多时间在kernel mode上,比较常见的比如调用系统内部方法,syscall()。正常情况应用程序一般都会占用user的cpu时间,如果sys高一般都是应用程序遇到问题了,例如I/O出现问题。linux上可以用strace工具跟踪一下系统调用情况。如strace -c -p pid...显示全部

首先"sys"高代表了CPU花了很多时间在kernel mode上,比较常见的比如调用系统内部方法,syscall()。正常情况应用程序一般都会占用user的cpu时间,如果sys高一般都是应用程序遇到问题了,例如I/O出现问题。

linux上可以用strace工具跟踪一下系统调用情况。如strace -c -p pid

收起
答案包含:原理分析, 通用方法 2016-12-29
刘文刘文系统工程师 , CMBC
aixchina赞同了此回答
原理分析差不多了,从经验上说,其实遇到sys高的问题,除了人为导致,多半是bug导致,如果能够找到哪个系统调用比较频繁,直接查与此相关的bug更直接。显示全部

原理分析差不多了,从经验上说,其实遇到sys高的问题,除了人为导致,多半是bug导致,如果能够找到哪个系统调用比较频繁,直接查与此相关的bug更直接。

收起
答案包含:注意事项, 原理分析 2016-12-29
wangzk0206wangzk0206数据库管理员 , scrcu
谢谢各位专家的解答。显示全部

谢谢各位专家的解答。

收起
 2016-12-30

撰写回答

提问者

wangzk0206数据库管理员, scrcu
发布37
回答14