[关闭]
@Gugoole 2018-12-10T14:22:05.000000Z 字数 14926 阅读 6020

Linux覆辙录

linux 学习笔记


什么是平均负载

平均负载为多少时合理

检查系统负载的工具

  1. ~ uptime
  2. 22:04:25 up 3:53, 1 user, load average: 0.19, 0.18, 0.18
  1. ~ iostat
  2. Linux 4.15.0-29deepin-generic (gugoole-PC) 20181129 _x86_64_ (8 CPU)
  3. avg-cpu: %user %nice %system %iowait %steal %idle
  4. 2.37 0.01 0.79 0.33 0.00 96.51
  5. Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
  6. nvme1n1 812.83 177.01 389.51 3074554 6765817
  7. nvme0n1 0.03 1.43 0.00 24759 0
  1. # 每隔5秒输出1组数据
  2. ~ mpstat -P ALL 5 1
  3. Linux 4.15.0-29deepin-generic (gugoole-PC) 20181129 _x86_64_ (8 CPU)
  4. 230307 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
  5. 230312 all 1.56 0.00 0.98 0.13 0.00 0.00 0.00 0.00 0.00 97.33
  6. 230312 0 1.60 0.00 0.80 0.00 0.00 0.00 0.00 0.00 0.00 97.60
  7. 230312 1 2.02 0.00 0.60 0.00 0.00 0.00 0.00 0.00 0.00 97.38
  8. 230312 2 2.41 0.00 2.01 0.00 0.00 0.00 0.00 0.00 0.00 95.57
  9. 230312 3 1.80 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 97.20
  10. 230312 4 0.80 0.00 1.61 1.00 0.00 0.00 0.00 0.00 0.00 96.59
  11. 230312 5 1.61 0.00 1.01 0.00 0.00 0.00 0.00 0.00 0.00 97.38
  12. 230312 6 0.81 0.00 0.60 0.00 0.00 0.00 0.00 0.00 0.00 98.59
  13. 230312 7 1.42 0.00 0.20 0.00 0.00 0.00 0.00 0.00 0.00 98.37
  14. 平均时间: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
  15. 平均时间: all 1.56 0.00 0.98 0.13 0.00 0.00 0.00 0.00 0.00 97.33
  16. 平均时间: 0 1.60 0.00 0.80 0.00 0.00 0.00 0.00 0.00 0.00 97.60
  17. 平均时间: 1 2.02 0.00 0.60 0.00 0.00 0.00 0.00 0.00 0.00 97.38
  18. 平均时间: 2 2.41 0.00 2.01 0.00 0.00 0.00 0.00 0.00 0.00 95.57
  19. 平均时间: 3 1.80 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 97.20
  20. 平均时间: 4 0.80 0.00 1.61 1.00 0.00 0.00 0.00 0.00 0.00 96.59
  21. 平均时间: 5 1.61 0.00 1.01 0.00 0.00 0.00 0.00 0.00 0.00 97.38
  22. 平均时间: 6 0.81 0.00 0.60 0.00 0.00 0.00 0.00 0.00 0.00 98.59
  23. 平均时间: 7 1.42 0.00 0.20 0.00 0.00 0.00 0.00 0.00 0.00 98.37
  1. # 每隔5秒显示1次CPU的使用统计
  2. ~ pidstat -u 5 1
  3. Linux 4.15.0-29deepin-generic (gugoole-PC) 20181129 _x86_64_ (8 CPU)
  4. 230359 UID PID %usr %system %guest %wait %CPU CPU Command
  5. 230404 0 2737 0.00 0.20 0.00 0.00 0.20 1 NetworkManager
  6. 230404 0 2741 0.20 0.00 0.00 0.00 0.20 0 dde-system-daem
  7. 230404 1000 2813 2.99 1.60 0.00 0.00 4.59 7 netease-cloud-m
  8. 230404 1000 2886 0.60 0.00 0.00 0.00 0.60 7 netease-cloud-m
  9. 230404 0 3634 2.79 0.20 0.00 0.20 2.99 5 Xorg
  10. 230404 0 3793 0.00 0.40 0.00 0.20 0.40 4 irq/150-nvidia
  11. 230404 1000 4971 3.99 1.80 0.00 0.00 5.79 3 deepin-wm
  12. 230404 1000 5020 0.20 0.00 0.00 0.00 0.20 6 dde-session-dae
  13. 230404 1000 5053 0.00 0.20 0.00 0.00 0.20 3 dde-desktop
  14. 230404 1000 8346 0.20 0.60 0.00 0.00 0.80 4 pulseaudio
  15. 230404 1000 8732 0.20 0.00 0.00 0.00 0.20 7 deepin-cloud-pr
  16. 230404 1000 13557 1.00 3.39 0.00 0.00 4.39 1 wineserver.real
  17. 230404 1000 13599 0.00 0.20 0.00 0.00 0.20 7 QQProtect.exe
  18. 230404 1000 13753 2.59 4.79 0.00 0.20 7.39 6 TIM.exe
  19. 230404 1000 16999 0.00 0.20 0.00 0.00 0.20 5 WeChat.exe
  20. 230404 1000 17004 0.20 0.00 0.00 0.00 0.20 3 wineserver.real
  21. 230404 1000 24626 0.20 0.00 0.00 0.00 0.20 3 java
  22. 230404 1000 32107 0.20 0.00 0.00 0.00 0.20 0 cmd-markdown
  23. 230404 1000 32314 1.20 0.20 0.00 0.00 1.40 2 deepin-terminal
  24. 平均时间: UID PID %usr %system %guest %wait %CPU CPU Command
  25. 平均时间: 0 2737 0.00 0.20 0.00 0.00 0.20 - NetworkManager
  26. 平均时间: 0 2741 0.20 0.00 0.00 0.00 0.20 - dde-system-daem
  27. 平均时间: 1000 2813 2.99 1.60 0.00 0.00 4.59 - netease-cloud-m
  28. 平均时间: 1000 2886 0.60 0.00 0.00 0.00 0.60 - netease-cloud-m
  29. 平均时间: 0 3634 2.79 0.20 0.00 0.20 2.99 - Xorg
  30. 平均时间: 0 3793 0.00 0.40 0.00 0.20 0.40 - irq/150-nvidia
  31. 平均时间: 1000 4971 3.99 1.80 0.00 0.00 5.79 - deepin-wm
  32. 平均时间: 1000 5020 0.20 0.00 0.00 0.00 0.20 - dde-session-dae
  33. 平均时间: 1000 5053 0.00 0.20 0.00 0.00 0.20 - dde-desktop
  34. 平均时间: 1000 8346 0.20 0.60 0.00 0.00 0.80 - pulseaudio
  35. 平均时间: 1000 8732 0.20 0.00 0.00 0.00 0.20 - deepin-cloud-pr
  36. 平均时间: 1000 13557 1.00 3.39 0.00 0.00 4.39 - wineserver.real
  37. 平均时间: 1000 13599 0.00 0.20 0.00 0.00 0.20 - QQProtect.exe
  38. 平均时间: 1000 13753 2.59 4.79 0.00 0.20 7.39 - TIM.exe
  39. 平均时间: 1000 16999 0.00 0.20 0.00 0.00 0.20 - WeChat.exe
  40. 平均时间: 1000 17004 0.20 0.00 0.00 0.00 0.20 - wineserver.real
  41. 平均时间: 1000 24626 0.20 0.00 0.00 0.00 0.20 - java
  42. 平均时间: 1000 32107 0.20 0.00 0.00 0.00 0.20 - cmd-markdown

什么是CPU上下文切换

进程上下文切换

线程上下文切换

中断上下文切换

怎么查看系统的上下文切换情况

用于检查系统上下文的工具

  1. #每隔5秒输出一组数据
  2. ~ vmstat -w 5
  3. procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
  4. r b swpd free buff cache si so bi bo in cs us sy id wa st
  5. 0 0 0 12823272 108404 1917160 0 0 0 2 264 756 0 0 99 0 0
  6. 0 0 0 12823024 108404 1917160 0 0 0 2 275 835 0 0 100 0 0
  7. 0 0 0 12823148 108408 1917160 0 0 0 1 262 775 0 0 99 0 0
  8. 0 0 0 12821596 108408 1917192 0 0 0 0 347 921 0 0 99 0 0
  9. 0 0 0 12821820 108416 1917192 0 0 0 63 259 732 0 0 99 0 0
  10. 0 0 0 12821436 108424 1917184 0 0 0 2 263 735 0 0 100 0 0
  11. 0 0 0 12821596 108424 1917192 0 0 0 1 267 767 0 0 100 0 0
  12. 0 0 0 12821720 108424 1917192 0 0 0 0 256 752 0 0 100 0 0
  13. 0 0 0 12822500 108424 1917192 0 0 0 0 250 714 0 0 100 0 0
  14. 0 0 0 12822088 108424 1917196 0 0 0 0 266 755 0 0 100 0 0
  15. 0 0 0 12822088 108432 1917196 0 0 0 11 256 760 0 0 100 0 0
  16. 0 0 0 12822336 108432 1917196 0 0 0 0 251 750 0 0 100 0 0
  17. 0 0 0 12822112 108432 1917196 0 0 0 0 249 742 0 0 100 0 0
  18. 3 0 0 12822460 108432 1917196 0 0 0 0 493 3035 1 0 99 0 0
  19. 0 0 0 12822296 108432 1917196 0 0 0 0 282 959 0 0 99 0 0
  20. 0 0 0 12822800 108432 1917196 0 0 0 0 333 1301 1 0 99 0 0
  21. 0 0 0 12822988 108448 1917260 0 0 0 33 367 1488 1 0 99 0 0
  22. 0 0 0 12822208 108496 1917388 0 0 0 66 571 3434 2 1 97 0 0
  23. 0 0 0 12821180 108544 1917516 0 0 0 70 474 2863 2 0 98 0 0
  24. 0 0 0 12820256 108576 1917712 0 0 0 51 491 2601 1 0 98 0 0
  25. 0 0 0 12825024 108640 1915424 0 0 0 230 452 2502 1 0 98 0 0
  26. 0 1 0 12824240 108700 1915560 0 0 0 86 611 4187 2 0 97 0 0
  27. 0 0 0 12824932 108740 1915588 0 0 0 222 378 1669 1 0 99 0 0
  28. 0 0 0 12824784 108764 1915652 0 0 0 29 337 1440 1 0 99 0 0
  29. 0 0 0 12824848 108780 1915676 0 0 0 27 264 773 0 0 99 0 0
  30. 0 0 0 12824536 108788 1915684 0 0 0 12 265 814 0 0 99 0 0
  31. 0 0 0 12824760 108788 1915684 0 0 0 1 257 762 0 0 100 0 0
  32. 0 0 0 12824248 108788 1915684 0 0 0 0 286 1029 0 0 100 0 0
  33. 0 0 0 12823608 108812 1915680 0 0 0 36 991 20344 3 1 96 0 0
  34. 0 0 0 12823620 108832 1915660 0 0 0 23 319 1154 0 0 99 0 0
  35. 4 0 0 12822932 108840 1915680 0 0 0 6 380 2255 1 0 99 0 0
  36. 0 0 0 12823044 108848 1915680 0 0 0 8 1049 18649 4 1 96 0 0
  37. 0 0 0 12823188 108848 1915680 0 0 0 5 409 2391 1 0 99 0 0
  38. 0 0 0 12823044 108848 1915680 0 0 0 0 407 1636 0 0 99 0 0
  1. #每隔5秒输出一组数据
  2. ~ pidstat -w 5
  3. Linux 4.15.0-29deepin-generic (gugoole-PC) 20181130 _x86_64_ (8 CPU)
  4. 112541 UID PID cswch/s nvcswch/s Command
  5. 112546 0 8 6.59 0.00 rcu_sched
  6. 112546 0 11 0.20 0.00 watchdog/0
  7. 112546 0 14 0.20 0.00 watchdog/1
  8. 112546 0 20 0.20 0.00 watchdog/2
  9. 112546 0 26 0.20 0.00 watchdog/3
  10. 112546 0 32 0.20 0.00 watchdog/4
  11. 112546 0 38 0.20 0.00 watchdog/5
  12. 112546 0 44 0.20 0.00 watchdog/6
  13. 112546 0 50 0.20 0.00 watchdog/7
  14. 112546 0 219 0.40 0.00 kworker/u16:2
  15. 112546 0 456 0.40 0.00 kworker/0:1H
  16. 112546 0 668 1.20 0.00 irq/148-iwlwifi
  17. 112546 0 1638 0.60 0.20 jbd2/nvme0n1p4-
  18. 112546 102 2784 3.79 0.00 dbus-daemon
  19. 112546 0 2796 2.20 0.00 NetworkManager
  20. 112546 0 2830 0.20 0.00 systemd-logind
  21. 112546 0 2831 0.20 0.00 acpid
  22. 112546 0 2865 1.00 0.00 vmware-usbarbit
  23. 112546 0 3191 0.20 0.00 dde-file-manage
  24. 112546 0 3375 85.63 0.20 Xorg
  25. 112546 0 3546 8.58 0.00 irq/150-nvidia
  26. 112546 0 4658 1.00 0.00 vmware-authdlau
  27. 112546 1000 4894 1.40 0.00 dbus-daemon

根据上下文切换的类型做具体分析

什么是CPU使用率

CPU和任务统计信息

  1. ~ cat /proc/stat|grep ^cpu
  2. cpu 135307 6855 165552 1632799 2751 0 723 0 0 0
  3. cpu0 16158 843 20907 1406454 2371 0 533 0 0 0
  4. cpu1 16261 673 21406 32408 68 0 117 0 0 0
  5. cpu2 17232 888 20364 32294 52 0 41 0 0 0
  6. cpu3 16700 988 20565 32273 38 0 8 0 0 0
  7. cpu4 17055 1003 20636 32286 39 0 10 0 0 0
  8. cpu5 16702 832 20515 32345 54 0 5 0 0 0
  9. cpu6 17635 843 20566 32349 55 0 3 0 0 0
  10. cpu7 17561 782 20590 32388 71 0 3 0 0 0

怎么查看CPU使用率

  1. top - 12:55:59 up 4:19, 1 user, load average: 0.12, 0.09, 0.13
  2. Tasks: 247 total, 1 running, 246 sleeping, 0 stopped, 0 zombie
  3. %Cpu(s): 0.8 us, 0.3 sy, 0.0 ni, 98.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
  4. MiB Mem : 15924.8 total, 11337.8 free, 2364.4 used, 2222.7 buff/cache
  5. MiB Swap: 20480.0 total, 20480.0 free, 0.0 used. 13129.7 avail Mem
  6. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  7. 3375 root 20 0 448948 143308 67488 S 4.7 0.9 3:03.23 Xorg
  8. 5034 gugoole 20 0 1113836 301848 83808 S 2.0 1.9 1:36.60 deepin-wm
  9. 12563 gugoole 20 0 639916 53484 38248 S 2.0 0.3 0:20.85 deepin-terminal
  10. 12897 gugoole 20 0 781592 62376 51520 S 0.7 0.4 0:00.96 deepin-menu
  11. 3546 root -51 0 0 0 0 S 0.3 0.0 0:25.21 irq/150-nvidia
  12. 5078 gugoole 20 0 2929588 60320 40260 S 0.3 0.4 0:13.14 dde-session-dae
  13. 5105 gugoole 20 0 1032992 91004 60048 S 0.3 0.6 0:06.08 dde-dock
  14. 5112 gugoole 20 0 1191456 84600 69972 S 0.3 0.5 0:38.45 dde-desktop
  15. 22085 root 20 0 0 0 0 I 0.3 0.0 0:00.40 kworker/1:0
  16. 22485 gugoole 20 0 796232 61444 51036 S 0.3 0.4 0:00.35 dde-osd
  17. 1 root 20 0 225992 9876 6724 S 0.0 0.1 0:02.27 systemd
  18. 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
  19. 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H
  20. 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
  21. 7 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0
  1. ~ pidstat 1 5
  2. Linux 4.15.0-29deepin-generic (gugoole-PC) 20181130 _x86_64_ (8 CPU)
  3. 133614 UID PID %usr %system %guest %wait %CPU CPU Command
  4. 133615 0 8 0.00 0.99 0.00 0.00 0.99 5 rcu_sched
  5. 133615 0 3375 1.98 0.00 0.00 0.99 1.98 2 Xorg
  6. 133615 0 3546 0.00 0.99 0.00 0.00 0.99 1 irq/150-nvidia
  7. 133615 1000 4861 0.99 0.00 0.00 0.00 0.99 2 startdde
  8. 133615 1000 5034 0.99 0.00 0.00 0.00 0.99 7 deepin-wm
  9. 133615 1000 12563 0.99 0.00 0.00 0.00 0.99 4 deepin-terminal

CPU使用率过高怎么办?

  1. Samples: 2K of event 'cycles:ppp', Event count (approx.): 1330995812
  2. Overhead Shared Object Symbol
  3. 9.20% [kernel] [k] module_get_kallsym
  4. 3.96% [kernel] [k] vsnprintf
  5. 2.73% [kernel] [k] format_decode
  6. 2.73% perf [.] 0x00000000001ea373
  7. 1.89% [kernel] [k] number
  8. 1.88% [kernel] [k] kallsyms_expand_symbol.constprop.1
  9. 1.69% perf [.] 0x00000000001f6368
  10. 1.69% [kernel] [k] memcpy_erms
  11. 1.43% perf [.] 0x00000000001f77d0
  12. 1.34% libc-2.27.so [.] __libc_calloc
  13. 1.24% [kernel] [k] string
  1. Samples: 3K of event 'cycles:ppp', Event count (approx.): 1778811422
  2. Overhead Command Shared Object Symbol
  3. 28.61% swapper [kernel.kallsyms] [k] intel_idle
  4. 4.44% Xorg [kernel.kallsyms] [k] pci_conf1_read
  5. 2.35% kworker/1:2 [kernel.kallsyms] [k] _nv029827rm
  6. 2.05% Xorg [kernel.kallsyms] [k] _nv029827rm
  7. 1.76% deepin-wm [kernel.kallsyms] [k] pci_conf1_read
  8. 1.61% deepin-wm [kernel.kallsyms] [k] _nv029827rm
  9. 1.09% irq/150-nvidia [kernel.kallsyms] [k] _nv029827rm
  10. 1.08% deepin-wm [kernel.kallsyms] [k] syscall_return_via_sysret
  11. 0.91% swapper [unknown] [k] 0000000000000000
  12. 0.71% Xorg [kernel.kallsyms] [k] _nv018294rm
  13. 0.41% swapper [kernel.kallsyms] [k] update_load_avg
  14. 0.33% Xorg [vdso] [.] 0x0000000000000977
  1. Samples: 36K of event 'cycles:ppp', Event count (approx.): 7290912532
  2. Children Self Shared Object Symbol
  3. - 15.23% 1.57% [unknown] [k] 0000000000000000
  4. - 7.58% 0
  5. + 12.19% 0.14% [kernel] [k] entry_SYSCALL_64_after_hwframe
  6. - 12.01% 0.28% [kernel] [k] do_syscall_64
  7. - 3.03% do_syscall_64
  8. - 8.65% 0.16% [kernel] [k] do_idle
  9. - 1.75% do_idle
  10. + 4.22% 0.02% [kernel] [k] call_cpuidle
  11. + 4.09% 0.22% [kernel] [k] cpuidle_enter_state
  12. + 4.01% 0.02% [kernel]

系统中出现大量不可中断进程和僵尸进程怎么办?

查看进程状态

  1. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  2. 18570 gugoole 20 0 5658284 233192 146168 S 4.7 1.4 9:38.78 netease-cloud-m
  3. 4360 root 20 0 496800 170776 114508 S 2.7 1.0 5:57.06 Xorg
  4. 16076 gugoole 20 0 1903844 230852 56412 S 2.7 1.4 4:34.76 TIM.exe
  5. 6692 gugoole 20 0 1250572 419552 86844 S 2.0 2.6 2:53.84 deepin-wm
  6. 15877 gugoole 20 0 9540 6616 1952 S 2.0 0.0 3:34.32 wineserver.real
  7. 29682 gugoole 20 0 618084 47944 34944 S 1.7 0.3 0:01.89 deepin-terminal
  8. 18632 gugoole 20 0 3006760 537128 209068 S 1.0 3.3 3:13.91 netease-cloud-m
  9. 4687 root -51 0 0 0 0 S 0.7 0.0 0:44.07 irq/150-nvidia
  10. 2744 deepin-+ 20 0 440132 13640 12160 S 0.3 0.1 0:00.85 deepin-anything
  11. 5788 root 20 0 1603368 74988 47088 S 0.3 0.5 0:17.94 dockerd
  12. 5852 root 20 0 1687904 38928 25380 S 0.3 0.2 0:37.02 docker-containe
  13. 10173 gugoole 20 0 2099056 17220 12796 S 0.3 0.1 0:58.93 pulseaudio
  14. 30495 gugoole 20 0 1575640 325020 157892 S 0.3 2.0 0:17.71 chrome
  15. 31658 gugoole 20 0 44436 3788 3120 R 0.3 0.0 0:00.04 top
  16. 1 root 20 0 225760 9616 6768 S 0.0 0.1 0:02.42 systemd
  17. 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
  18. 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H
  19. 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
  20. 7 root 20 0 0 0 0 S 0.0 0.0 0:00.03 ksoftirqd/0
  21. 8 root 20 0 0 0 0 I 0.0 0.0 0:03.38 rcu_sched
  22. 9 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_bh

iowait分析

  1. # 间隔1秒输出10组数据
  2. ~ dstat 1 10
  3. You did not select any stats, using -cdngy by default.
  4. --total-cpu-usage-- -dsk/total- -net/total- ---paging-- ---system--
  5. usr sys idl wai stl| read writ| recv send| in out | int csw
  6. 2 1 98 0 0| 433k 292k| 0 0 | 0 0 |1938 9104
  7. 1 0 99 0 0| 0 0 | 0 160B| 0 0 |2652 10k
  8. 2 1 96 1 0| 0 168k| 60B 222B| 0 0 |2891 12k
  9. 2 1 97 0 0| 0 0 | 0 0 | 0 0 |3184 14k
  10. 4 1 95 0 0| 0 0 | 0 160B| 0 0 |3455 19k
  11. 2 1 98 0 0| 0 0 | 652B 382B| 0 0 |3041 15k
  12. 3 2 94 0 0| 0 0 | 0 0 | 0 0 |3493 16k
  13. 1 1 98 0 0| 0 776k| 0 86B| 0 0 |2900 11k
  14. 1 0 98 0 0| 0 0 | 138B 650B| 0 0 |2799 12k
  15. 3 1 96 0 0| 0 0 | 121B 0 | 0 0 |2962 13k
  1. # 观察进程对磁盘的读写
  2. # 每1秒输出各进程I/O情况,一共输出20组数据
  3. ~ pidstat -d 1 20
  4. Linux 4.15.0-29deepin-generic (gugoole-PC) 20181207 _x86_64_ (8 CPU)
  5. 233624 UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command
  6. 233625 0 338 -1.00 -1.00 -1.00 5 jbd2/nvme0n1p3-
  7. 233625 1000 6770 0.00 3.96 0.00 0 dde-dock
  8. 233625 1000 16076 0.00 7.92 0.00 4 TIM.exe
  9. 233625 0 27818 -1.00 -1.00 -1.00 6 kworker/u16:3
  10. 233625 1000 30495 0.00 11.88 0.00 0 chrome
  1. # 每隔1秒输出进程16076的I/O情况,一共输出10组
  2. ~ pidstat -d -p 16076 1 10
  3. Linux 4.15.0-29deepin-generic (gugoole-PC) 20181207 _x86_64_ (8 CPU)
  4. 235412 UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command
  5. 235413 1000 16076 0.00 0.00 0.00 0 TIM.exe
  6. 235414 1000 16076 0.00 0.00 0.00 0 TIM.exe
  7. 235415 1000 16076 0.00 0.00 0.00 0 TIM.exe
  8. 235416 1000 16076 0.00 8.00 0.00 0 TIM.exe
  9. 235417 1000 16076 0.00 0.00 0.00 0 TIM.exe
  10. 235418 1000 16076 0.00 0.00 0.00 0 TIM.exe
  11. 235419 1000 16076 0.00 0.00 0.00 0 TIM.exe
  12. 235420 1000 16076 0.00 356.00 0.00 0 TIM.exe
  13. 235421 1000 16076 0.00 0.00 0.00 0 TIM.exe
  14. 235422 1000 16076 0.00 8.00 0.00 0 TIM.exe
  15. 平均时间: 1000 16076 0.00 37.20 0.00 0 TIM.exe

如何处理僵尸进程

  1. # 显示进程14560的父进程
  2. ~ pstree -aps 14560
  3. systemd,1 splash
  4. └─lightdm,3316
  5. └─lightdm,3868 --session-child 13 20
  6. └─startdde,4563
  7. └─chrome,13920
  8. └─chrome,13939
  9. └─chrome,13945
  10. └─chrome,14560

如何理解Linux中断处理

中断是一种异步事件的处理机制,可以提高系统的并发处理能力。为了减少对正常进程调度的影响,中断处理程序需要尽可能快的运行,为>> 了解决中断程序执行过长和中断丢失的问题,Linux将中断处理过程分成了两个阶段,即上半部下半部

上半部

下半部

查看软中断和内核线程

  • proc/softirqs提供了软中断的运行情况
  • proc/interrupts提供了硬中断的运行情况

需要注意以下两点:

  • 要注意软中断的类型,即第一列
  • 要注意同一软中断在不同CPU上的分布情况,正常情况下同一种中断在不同CPU上的累计次数差不多
  1. # 每个TASKLET只运行一次就会结束,并且只在调用它的函数所在的CPU上运行,因此会导致调度不均衡,不能在多个CPU上并行而带来性能限制
  2. ~ cat /proc/softirqs
  3. CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
  4. HI: 0 0 0 2 2 1 2 40
  5. TIMER: 154534 141883 143273 140968 146031 142005 155169 141926
  6. NET_TX: 7 1 3 3 117 4 1 0
  7. NET_RX: 560 773 848 805 520 878 975 652
  8. BLOCK: 0 0 0 0 0 0 0 0
  9. IRQ_POLL: 0 0 0 0 0 0 0 0
  10. TASKLET: 210 26 69 83 405 25 25 7380
  11. SCHED: 182731 138472 129632 121712 129113 124541 136262 123510
  12. HRTIMER: 0 0 0 0 0 0 0 0
  13. RCU: 113499 106495 108597 104906 109033 106882 112750 106392
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注