カーネルバグスワップ

カーネルバグスワップ

Ubuntu 18 にバグがあり、/var/log/syslogファイルに次のメッセージがあることに気付きました:

で問題が頻繁に発生しswapkswapd0プロセスが実行されて 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 機能を削除しましたが、残念ながら昨日 21:36 前に Ubuntu 18 がクラッシュしました。

私のデスクトップは本当に充電されています: スクリーンショット 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 の大きなファイルをダウンロードしているときにフリーズしました。大きなファイルをダウンロードするとクラッシュすることが多く、システムクラッシュを避けるために、ダウンロード前に多くのアプリを終了しました。理由はわかりませんが、ファイルのダウンロードに RAM が必要だからです。20Gb のファイルをダウンロードする場合、20Gb の RAM が必要ですか? 不思議です。

私はノートパソコンを持っているので、今のところ新しい RAM を入手することはできません。

私が使用しているアプリは、Windows 10 でも同じアプリを使用していましたが、Linux でのみこれらの RAM/SWAP の問題が発生することを認めざるを得ません。

ログ ファイルに情報が見つかりませんでした。以下をご覧ください。

編集2

Opera については、Ubuntu ソフトウェア センターからインストールしました。とりあえずアンインストールして、.deb バージョンを探しています。しかし、ラップトップが再びクラッシュしたため、Opera を使用せずに...

複数のブラウザを使用するのは、PHP Web 開発を行っており、開発するさまざまなローカル (Nginx) Web サイトに、さまざまな権限を持つさまざまなテスト ユーザーがサインインしているためです。同じブラウザを使用して 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

2 日間は正常に動作しましたが、3 日目にスリープ モードから抜けるとクラッシュしました。

翌日、新しい 8G RAM バーを受け取ったのですが、ラップトップを開けるためには、トルクス T5 ドライバーが届くのを待たなければなりませんでした。とてもラッキーだと思います。すべてのラップトップが新しい RAM バーに対応しているわけではありません。

ここに画像の説明を入力してください

クラッシュも発生せず、3 日間正常に動作しています。大量の RAM を使用して多くのテストを実行しましたが、通常のソフトウェアがすべて実行されている状態で 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 しかないときに、いつも使っているソフトウェアをすべて起動してスワップしていました。Bluetooth キーボード (Logitech k810) を接続しようとしましたが、動作せず、syslog にメモリ不足のエラー メッセージが表示されました。Firefox を終了してメモリを解放したら、Bluetooth キーボードを接続できました... Linux スワップは、スワップから期待していた新しい仮想化されたメモリではないような気がします。

答え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 を使用して 1 つに対処しました。少なくともあと 2 つまたは 3 つの問題があります。

  • まず、8G の RAM では、開いているアプリやウィンドウが多すぎます。Firefox、Opera、Chrome という、RAM を消費する 3 つのアプリが開いています。そんなことをする理由は全くありません。これもスワップ使用量が高い理由の一部です。アプリによっては、3 つのウィンドウが開いている場合もあります。最近使用していないアプリ/ウィンドウを閉じるか、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が必要ですメモリインターリーブの速度の利点を得るには、RAM をペアで追加します。

  • 8GのRAMしかない場合、vm.swappiness=10に設定すると間違っている 間違っている 間違っているデフォルトの 60 に戻すか、以前のように 80 に設定します。

  • 8G RAMが正常に動作しているかどうかを確認するには、https://www.memtest86.com/無料の memtest をダウンロード/実行してメモリをテストします。メモリが正常であることを確認するには、4/4 テストすべてに少なくとも 1 回は合格する必要があります。完了するまでに数時間かかる場合があります。

  • 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/そして、これら 4 つの拡張機能を無効にします... (そして、GNOME Shell を再起動するか、システムを再起動する必要があります)、システムがより安定するかどうかを確認します... 本当に... 実行してください... GNOME Shell エラーが多すぎます... システムがより安定したら、問題のある拡張機能を特定するまで、一度に 1 つだけ再度有効にします... 少なくとも 2 つの候補があります...


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

アップデート#3:

で Wayland がクラッシュしているのがわかります/var/crash。Wayland なしで実行してみたいと思います。

編集/etc/gdm3/custom.confして...

変化:

#WaylandEnable=false

に:

WaylandEnable=false

その後再起動します。

また、ログイン時にユーザー名を選択し、表示される歯車アイコンをクリックして、Ubuntuではなく が選択されていることを確認してくださいUbuntu with Wayland

アップデート#4:

RAM を 16G に増やし、vm.swappiness=60 に設定しました。

関連情報