核心錯誤交換

核心錯誤交換

Ubuntu 18 出現了 bug,我在我的/var/log/syslog文件中註意到了以下訊息:

我經常遇到swap進程kswapd0運行並佔用大量 CPU 的問題。我可以做什麼來防止所有這些錯誤?

Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113350] ------------[ cut here ]------------
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113352] kernel BUG at /build/linux-hwe-uR14Ux/linux-hwe-5.3.0/mm/zswap.c:1166!
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113359] invalid opcode: 0000 [#1] SMP PTI
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113362] CPU: 1 PID: 5908 Comm: gnome-shell Tainted: P           OE     5.3.0-42-generic #34~18.04.1-Ubuntu
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113364] Hardware name: LENOVO 80X7/LNVNB161216, BIOS 4MCN33WW(V2.05) 07/19/2018
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113369] RIP: 0010:zswap_frontswap_load+0x1b0/0x1c0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113372] Code: e8 75 d5 b7 00 41 89 c7 41 83 ac 24 98 12 00 00 01 48 8b 43 28 48 8b 73 30 48 8b 38 e8 e9 c4 03 00 45 85 ff 0f 84 12 ff ff ff <0f> 0b e8 c9 6a e1 ff 66 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113374] RSP: 0000:ffffb6dd0332fb48 EFLAGS: 00010282
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113376] RAX: ffffffffa14bfd60 RBX: ffff966c9e6d73b8 RCX: ffff966b85e76f4a
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113377] RDX: ffff966e01154000 RSI: ffff966b85e76e80 RDI: ffff966e37cc0000
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113379] RBP: ffffb6dd0332fb88 R08: 0000000000000c98 R09: 0000000000000112
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113380] R10: ffff966b85e76fef R11: ffff966e01155000 R12: ffff966de1dd0000
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113381] R13: ffff966e2f4b2658 R14: ffff966e2f4b2650 R15: 00000000ffffffea
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113383] FS:  00007f432c805ac0(0000) GS:ffff966e39c80000(0000) knlGS:0000000000000000
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113385] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113386] CR2: 00005652fccc45e0 CR3: 0000000253542006 CR4: 00000000003606e0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113387] Call Trace:
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113392]  __frontswap_load+0x73/0xd0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113394]  swap_readpage+0x74/0x1f0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113397]  swap_cluster_readahead+0x1db/0x2b0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113400]  swapin_readahead+0x60/0x4e0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113402]  ? find_get_entry+0x58/0x160
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113404]  ? swapin_readahead+0x60/0x4e0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113406]  ? pagecache_get_page+0x2c/0x2b0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113409]  do_swap_page+0x31b/0x990
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113411]  ? do_swap_page+0x31b/0x990
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113414]  __handle_mm_fault+0x77a/0x1230
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113416]  ? __cgroup_account_cputime+0x28/0x30
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113419]  handle_mm_fault+0xcb/0x210
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113423]  __do_page_fault+0x2a1/0x4d0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113425]  do_page_fault+0x2c/0xe0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113429]  page_fault+0x34/0x40
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113431] RIP: 0033:0x7f43298735e8
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113433] Code: 70 48 83 fa 40 72 47 0f 10 06 0f 10 4e 10 0f 10 56 20 0f 10 5e 30 0f 10 64 16 f0 0f 10 6c 16 e0 0f 10 74 16 d0 0f 10 7c 16 c0 <0f> 11 07 0f 11 4f 10 0f 11 57 20 0f 11 5f 30 0f 11 64 17 f0 0f 11
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113434] RSP: 002b:00007ffecca60188 EFLAGS: 00010246
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113436] RAX: 00005652fccc45e0 RBX: 0000000000000005 RCX: 000000000000003f
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113437] RDX: 0000000000000040 RSI: 00005652f22f6cd0 RDI: 00005652fccc45e0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113439] RBP: 0000000000004d40 R08: 00005652f22f6bd0 R09: 00005652fccbf8a0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113440] R10: 0000000000000000 R11: 0000000000000000 R12: 00005652fccbf8a0
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113441] R13: 00005652f22f6bd0 R14: 0000000000000040 R15: 0000000000000000
Mar 18 19:55:14 adam-Lenovo-YOGA-720-15IKB kernel: [67157.113443] Modules linked in: btrfs xor zstd_compress raid6_pq ufs qnx4 hfsplus hfs minix ntfs msdos jfs xfs libcrc32c vboxnetadp(OE) vboxnetflt(OE) vboxdrv(OE) rfcomm vmw_vsock_vmci_transport vsock vmw_vmci ccm thunderbolt hidp cmac bnep snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio nls_iso8859_1 hid_sensor_accel_3d hid_sensor_als hid_sensor_trigger industrialio_triggered_buffer kfifo_buf hid_sensor_iio_common industrialio hid_sensor_custom nvidia_uvm(OE) 8250_dw hid_multitouch wacom hid_sensor_hub mei_hdcp intel_rapl_msr x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_hda_intel snd_intel_nhlt snd_hda_codec snd_hda_core snd_hwdep snd_pcm aesni_intel snd_seq_midi snd_seq_midi_event aes_x86_64 crypto_simd cryptd glue_helper snd_rawmidi intel_cstate intel_rapl_perf snd_seq ath10k_pci ath10k_core intel_wmi_thunderbolt wmi_bmof serio_raw ath snd_seq_device snd_timer mac80211 snd

編輯

根據 @heynnema 的建議,我已經刪除了 zswap 功能,不幸的是我的 Ubuntu 18 在昨天 21:36 之前崩潰了。

我的桌上型電腦確實充電了: 截圖 Ubuntu

並且一直使用大量交換:

    adam@adam-Lenovo-YOGA-720-15IKB:~$ free -h
                  total        used        free      shared  buff/cache   available
    Mem:           7.5G        5.3G        158M        1.4G        2.1G        567M
    Swap:           15G        5.2G         10G

我的螢幕凍結了,我不得不再次進行硬重啟!當我下載一個7GB的大檔案時,它就卡住了。當我下載大檔案時,它經常崩潰,為了避免系統崩潰,我在下載之前退出了很多應用程式。不知道為什麼,可能是因為它需要內存來下載檔案。如果我下載 20Gb 的文件,是否需要 20Gb 的 RAM?奇怪的。

我有一台筆記型電腦,所以暫時無法擁有新的記憶體。

我使用的應用程序,我在 Windows 10 上使用相同的應用程序,並且必須承認我僅在 Linux 上遇到這些 RAM/SWAP 問題!

我在日誌文件中找不到任何信息,請查找:

編輯2

對於 Opera,我從 Ubuntu 軟體中心安裝了它。我暫時卸載了它並尋找 .deb 版本。但我的筆記型電腦又當機了,所以沒有使用 Opera...

如果我使用多個瀏覽器,那是因為我做了一些PHP Web 開發,並且我登入了不同的本地(Nginx)網站,我與具有不同權限的不同測試用戶一起開發......我在Windows 10 上使用相同的瀏覽器做同樣的事情。而且,例如,我使用 Opera 作為 VPN 來輕鬆更改位置並使用 PHP 庫/geoip 測試我的開發。

今天的崩潰之後,我的 swappiness 現在是 10。

   adam@adam-Lenovo-YOGA-720-15IKB:~$ cat /proc/sys/vm/swappiness
    10

我使用一些非常酷的 Gnome 擴展,我很欣賞這個工作環境,我會盡力繼續使用它,不會回到 W10!

adam@adam-Lenovo-YOGA-720-15IKB:~$ ls -al ~/.local/share/gnome-shell/extensions
total 24
drwxrwxr-x 6 adam adam 4096 janv. 26 01:19 .
drwx------ 3 adam adam 4096 mars  21 15:47 ..
drwxrwxr-x 5 adam adam 4096 janv. 19 22:51 [email protected]
drwxrwxr-x 5 adam adam 4096 janv. 20 19:46 [email protected]
drwxrwxr-x 3 adam adam 4096 janv. 19 23:30 [email protected]
drwxrwxr-x 5 adam adam 4096 janv. 20 00:21 [email protected]

adam@adam-Lenovo-YOGA-720-15IKB:~$ ls -al /usr/share/gnome-shell/extensions
total 16
drwxr-xr-x 4 root root 4096 août   5  2019 .
drwxr-xr-x 6 root root 4096 janv. 19 03:32 ..
drwxr-xr-x 3 root root 4096 août   5  2019 [email protected]
drwxr-xr-x 3 root root 4096 août   5  2019 [email protected]

我的磁碟是SSD,我想我不需要檢查一些壞塊?不是嗎?

編輯3

adam@adam-Lenovo-YOGA-720-15IKB:~$ ls -al /var/crash
total 71348
drwxrwsrwt  2 root     whoopsie     4096 Mar 19 11:44 .
drwxr-xr-x 15 root     root         4096 Jan 20 11:34 ..
-rw-r-----  1 gdm      whoopsie  3228635 Mar 19 11:45 _usr_bin_Xwayland.121.crash
-rw-r-----  1 gdm      whoopsie 27575267 Mar 19 11:44 _usr_bin_gnome-shell.121.crash
-rw-r-----  1 adam     whoopsie 42236551 Mar 17 14:05 _usr_bin_gnome-software.1000.crash
-rw-rw-r--  1 adam     whoopsie        0 Mar 17 14:05 _usr_bin_gnome-software.1000.upload
-rw-------  1 whoopsie whoopsie        0 Mar 17 14:05 _usr_bin_gnome-software.1000.uploaded

這些文件可在以下位置取得: https://drive.google.com/open?id=1vcNtIu0W0bK5OoTnwVrQ_-BfE5uZb7Ad

編輯4

我已將交換度調回 80

我已經檢查過內存https://www.memtest86.com/希望它已經很長了,但它成功地通過了所有 4/4 測試。

我還禁用了 Wayland WaylandEnable=false

它在兩天內工作正常,但在第三天,它在睡眠模式下崩潰了。

第二天,我收到了新的 8G 記憶體條,但我必須等待螺絲起子 torx t5 的交付才能打開我的筆記型電腦!我覺得很幸運,並不是所有的筆記型電腦都可以接受新的記憶體。

在此輸入影像描述

現在已經正常工作了 3 天,沒有任何崩潰。然而,我使用大量記憶體做了很多測試,甚至從 Steam 啟動遊戲,而我常用的所有軟體都在運行……並且沒有崩潰。

所以我想我可以繼續使用Ubuntu而不改變我的習慣。

此時:

adam@adam-Lenovo-YOGA-720-15IKB:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:            15G         11G        701M        932M        3.1G        2.6G
Swap:           15G        1.8G         14G

筆記: 當我只有8G記憶體時,我啟動了所有常用的軟體並且正在交換,我嘗試連接藍牙鍵盤(Logitech k810)但它不起作用,系統日誌上有記憶體不足的錯誤訊息!我退出 Firefox 以獲得免費的 RAM,並且可以連接藍牙鍵盤...我覺得 Linux 交換並不是某種新的虛擬化 RAM,而這正是我對交換的期望。

答案1

看起來你在 zswap 中崩潰了...

kernel BUG at /build/linux-hwe-uR14Ux/linux-hwe-5.3.0/mm/zswap.c:1166!

您的 BIOS 已更新至版本...

Hardware name: LENOVO 80X7/LNVNB161216, BIOS 4MCN33WW(V2.05) 07/19/2018

您已按照以下網址的文章啟用了 zswap這個網頁。

反轉您的步驟並停用 zswap...

sudo -H gedit /etc/default/grub# 編輯這個文件

消除zswap.enabled=1

sudo update-grub# 更新GRUB

reboot# 重新啟動計算機

更新#1:

我已經查看了您的日誌檔案。您有多個問題導致崩潰問題。我們用 zswap 解決了一個問題。您至少還有兩三個問題。

  • 首先,對於 8G RAM,您有太多打開的應用程式/視窗。您打開了三個佔用記憶體的應用程式:Firefox、Opera 和 Chrome。絕對沒有理由這樣做。這也是部分交換使用量較高的原因。有些應用程式甚至有三個打開的視窗。需要關閉最近未使用的應用程式/窗口,或添加更多 RAM。

  • 你的 Opera 的 snap 版本正在殺死你的日誌檔案。解除安裝 snap 版本並安裝常規 .deb 版本。

  • 您是否將 vm.swappiness 設定回 10?或者它仍然是 80(這也是交換使用率較高的原因)。

  • 你收到很多 I/O 錯誤,但它來自 gnome-shell 和 sqlite。奇怪的。 GNOME Shell 錯誤通常是有缺陷的 GNOME Shell 擴充。或者您的 sql 檔案可能已損壞。

給我看看:

ls -al ~/.local/share/gnome-shell/extensions

ls -al /usr/share/gnome-shell/extensions

更新#2:

  • 沒有辦法擺脫它你需要更多內存。成對添加 RAM 以獲得內存交錯的速度優勢。

  • 只有 8G RAM,設定 vm.swappiness=10 是錯誤錯誤錯誤。將其設定回預設值 60,或像我們之前那樣設定為 80。

  • 為了確保您的 8G RAM 正常工作,請訪問https://www.memtest86.com/並下載/運行他們的免費 memtest 來測試您的記憶力。至少完成一次所有 4/4 測試,以確認良好的記憶力。這可能需要幾個小時才能完成。

  • Opera 可從下列位置下載https://www.opera.com,或者如果您建立/etc/apt/sources.list.d/opera.list並放入deb http://deb.opera.com/opera/ stable non-free #Opera它,您將能夠獲得自動更新,和/或使用 Synaptic 來安裝它。

  • 據我所知,您會討厭這樣做,但這是必要的,至少出於測試目的......轉到https://extensions.gnome.org/local/並禁用這四個擴展...(並且您必須重新啟動GNOME Shell,或重新啟動系統)並查看系統是否變得更穩定...真的...這樣做...您有太多的GNOME Shell 錯誤..如果系統更穩定,一次只重新啟用一個,直到確定問題擴展...我看到至少有兩個候選者...


[email protected]
[email protected]
[email protected]
[email protected]

更新#3:

我看到韋蘭在 發生車禍/var/crash。我們想嘗試在沒有 Wayland 的情況下運行。

編輯/etc/gdm3/custom.conf並...

改變:

#WaylandEnable=false

到:

WaylandEnable=false

然後重新啟動。

另外,在登入時,選擇您的用戶名,然後點擊出現的齒輪圖標,並確保您選擇的是Ubuntu,而不是Ubuntu with Wayland

更新#4:

將 RAM 增加到 16G 並設定 vm.swappiness=60。

相關內容