Linux下高cpu解决方案.docVIP

  • 1
  • 0
  • 约2.44千字
  • 约 4页
  • 2020-01-14 发布于四川
  • 举报
Linux下高cpu解决方案      由于电脑配置不高或工作需要较高的cpu等原因cpu经常占用很高下面给大家介绍Linux下高cpu解决方案一起来了解一下吧      1.用top命令查看个进程占用CPU高      gateway网关进程14094占用CPU高达891%这个数值是进程内各个线程占用CPU的累加值      PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+MAND      14094root150315m10m7308S891%2.21:49.01gateway      20642root1701778441482220S0.50.82:39.96microdasys      1679root1801098418561556R0.30.40:22.21sshd      22563root18024241060800R0.30.20:00.03top      1root1802156492460S0.00.10:01.59init      2.用topHppid命令查看进程内各个线程占用的CPU百分比      topHp14094      top中可以看到有107个线程但是下面9个线程占用CPU很高下面以线程14086为主分析其为何highCPU      PIDUSERPRNIVIRTRESSHRS%CPUMEMTIME+MAND      14086root250922m914m538mR10110.021:35.46gateway      14087root250922m914m538mR10110.010:50.22gateway      14081root250922m914m538mS9910.08:57.36gateway      14082root250922m914m538mR9910.011:51.92gateway      14089root250922m914m538mR9910.021:21.77gateway      14092root250922m914m538mR9910.019:55.47gateway      14094root250922m914m538mR9910.021:02.21gateway      14083root250922m914m538mR9710.021:32.39gateway      14088root250922m914m538mR9710.011:23.12gateway      3.使用gstack命令查看进程中各线程的函数调用栈      gstack14094gstack.log      在gstack.log中查找线程ID14086由于函数栈会暴露函数细节因此只显示了两个函数桢线程ID14086对应线程号是37      Thread37(Thread0x4696ab90(LWP14086)):      00nkernelvsyscall()      10x40241f33inpoll()from/lib/i686/nosegneg/libc.so.6      4.使用gcore命令转存进程映像及内存上下文      gcore14094      该命令生成core文件core.14094      5.用strace命令查看系统调用和花费的时间      straceTrcp14094      c参数显示统计信息去掉此参数可以查看每个系统调用话费的时间及返回值      %timesecondsusecs/callcallserrorssyscall            99.9922.68387933856702poll      0.000.00113206702gettimeofday      0.000.0001271208208accept      0.000.000022221read      0.000rite      0.000lose      0.000.000000014time      0.000tat64      0.000lockgettime      0.000end      0.000.00000001010recvfrom            100.0022.68516013652218total      6.用gdb调试core文件并线程切换到37号线程      gcore和实际的core

文档评论(0)

1亿VIP精品文档

相关文档