最近电脑一开机就很卡,同时风扇也转得比较快和响
用top命令查看,发现root下的ksoftirq和kworker是不知什么进程,有时候会占用cpu较高
该如何排查和解决?
最近编辑记录 jingmouren (2019-11-20 13:54:31)
离线
对于 ksoftirq,去看 /proc/interrupts 里哪一项增长比较快。
对于 kworker,找到它的 pid 并去 cat /proc/$pid/stack 看看它的调用栈,判断它在处理什么事务。
离线
马
难得看到softirq出问题的案例
ecmascript是世界上最好的语言
离线
/proc/interrupts 是这个样,看不懂啊。而且最卡的一阵反而没法开命令行并查看,下面这个是不太卡的一阵用less看的
CPU0 CPU1 CPU2 CPU3
0: 9 0 0 0 IO-APIC 2-edge timer
1: 231 0 0 58 IO-APIC 1-edge i8042
8: 0 1 0 0 IO-APIC 8-edge rtc0
9: 17284 668 0 0 IO-APIC 9-fasteoi acpi
12: 13092 0 801 0 IO-APIC 12-edge i8042
16: 0 0 0 0 IO-APIC 16-fasteoi i801_smbus
120: 0 0 0 0 PCI-MSI 458752-edge aerdrv, PCIe PME
121: 0 0 0 0 PCI-MSI 466944-edge aerdrv, PCIe PME
122: 0 0 0 0 PCI-MSI 468992-edge PCIe PME
123: 29012 0 0 0 PCI-MSI 327680-edge xhci_hcd
124: 3862 58653 0 0 PCI-MSI 376832-edge ahci[0000:00:17.0]
125: 0 38 0 0 PCI-MSI 360448-edge mei_me
126: 407960 0 0 0 PCI-MSI 1048576-edge enp2s0
127: 0 30 0 0 PCI-MSI 1572864-edge iwlwifi
128: 67186 0 23363 0 PCI-MSI 32768-edge i915
129: 0 0 134 0 PCI-MSI 514048-edge snd_hda_intel:card0
130: 254152535 0 0 0 PCI-MSI 524288-edge amdgpu
NMI: 0 0 0 0 Non-maskable interrupts
LOC: 303363 187740 193462 177490 Local timer interrupts
SPU: 0 0 0 0 Spurious interrupts
PMI: 0 0 0 0 Performance monitoring interrupts
IWI: 13 18 19 6 IRQ work interrupts
RTR: 1 0 0 0 APIC ICR read retries
RES: 59105 76855 30398 23061 Rescheduling interrupts
CAL: 14768 16264 14286 15416 Function call interrupts
TLB: 12133 12449 10719 11677 TLB shootdowns
TRM: 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 Threshold APIC interrupts
DFR: 0 0 0 0 Deferred Error APIC interrupts
MCE: 0 0 0 0 Machine check exceptions
MCP: 10 11 11 11 Machine check polls
HYP: 0 0 0 0 Hypervisor callback interrupts
HRE: 0 0 0 0 Hyper-V reenlightenment interrupts
HVS: 0 0 0 0 Hyper-V stimer0 interrupts
ERR: 0
MIS: 0
PIN: 0 0 0 0 Posted-interrupt notification event
NPI: 0 0 0 0 Nested posted-interrupt event
PIW: 0 0 0 0 Posted-interrupt wakeup event
离线
好像pid会变,这是查看kworker的结果
[<0>] down_timeout+0x47/0x50
[<0>] acpi_os_wait_semaphore+0x67/0x180
[<0>] acpi_ex_system_wait_mutex+0x7b/0xf0
[<0>] acpi_ex_acquire_mutex_object+0xb3/0x115
[<0>] acpi_ex_acquire_mutex+0x18a/0x25a
[<0>] acpi_ex_opcode_2A_0T_1R+0x103/0x1a9
[<0>] acpi_ds_exec_end_op+0x112/0x706
[<0>] acpi_ps_parse_loop+0xa8a/0xb61
[<0>] acpi_ps_parse_aml+0x1a7/0x4b2
[<0>] acpi_ps_execute_method+0x1f0/0x2ac
[<0>] acpi_ns_evaluate+0x2eb/0x43d
[<0>] acpi_evaluate_object+0x1cd/0x3f8
[<0>] acpi_ec_event_processor+0x8a/0x90
[<0>] process_one_work+0x1d1/0x3d0
[<0>] worker_thread+0x4a/0x3d0
[<0>] kthread+0xfb/0x130
[<0>] ret_from_fork+0x35/0x40
[<0>] 0xffffffffffffffff
最近编辑记录 jingmouren (2019-12-12 10:14:02)
离线
/proc/interrupts 得看变化。你的 amdgpu 的绝对数值挺高的,但是我也不知道你开机多久了、都用来做了什么,所以也不能肯定是它的问题。
看 kworker 的调用栈的话,你得去看你觉得有问题的那个,而且是有问题的时候看。你发的那个 kworker 在处理 ACPI 事件?有什么事件呢?
离线
啥命令可以看/proc/interrupts的变化?
卡的情况基本都是刚开电脑就有点卡,没开多少窗口,也没专门用amdgpu
再强制重启后不那么卡了,却反复出现有线网卡连接失败,上次提问这条时也出现这情况
/proc/interrupts 得看变化。你的 amdgpu 的绝对数值挺高的,但是我也不知道你开机多久了、都用来做了什么,所以也不能肯定是它的问题。
看 kworker 的调用栈的话,你得去看你觉得有问题的那个,而且是有问题的时候看。你发的那个 kworker 在处理 ACPI 事件?有什么事件呢?
最近编辑记录 jingmouren (2019-12-12 14:00:00)
离线
你的 xorg 是跑在i卡还是a卡上的呀?可以考虑禁用a卡试试?
「有线网卡连接失败」这个得看具体情况。
另外你是在用 5.4 的内核吗?如果是,可以尝试降级或者换 lts 内核试试。
离线
uname -a显示的是 4.19.66-1-MANJARO 不知道内核是不是就是4.19.66 没看到5.4字样
xorg用的啥卡也不知道是啥命令啊,我用得安装时自动装驱动 自动设置的
你的 xorg 是跑在i卡还是a卡上的呀?可以考虑禁用a卡试试?
「有线网卡连接失败」这个得看具体情况。
另外你是在用 5.4 的内核吗?如果是,可以尝试降级或者换 lts 内核试试。
最近编辑记录 jingmouren (2019-12-13 10:43:51)
离线
uname -a显示的是 4.19.66-1-MANJARO 不知道内核是不是就是4.19.66 没看到5.4字样
xorg用的啥卡也不知道是啥命令啊,我用得安装时自动装驱动 自动设置的
去设置界面>硬件看看
离线