web-dev-qa-db-ja.com

18.04-Nvidia 435ドライバーへのアップグレード後、スタンバイ中にTensorflowが断続的にフリーズする

最近、Nvidiaドライバーを418から435にアップグレードしました(RTX 2070を使用しています)。長い話ですが、ドライバーの競合にいくつかの問題があったため、ヌーボードライバーに切り替えて、また元に戻す必要がありました。これにより、dpkgの出力に基づいて418個のドライバーが削除されたと確信しています。

ただし、奇妙な問題が残ります。たまに、システムをスタンバイにしようとするとシステムがハングします。完全に応答しない空白の画面が表示され、手動で再起動する必要があります。すべての作業が失われるので、イライラします。奇妙なことに、これはすべてのスタンバイで発生するわけではありません。その理由を理解できません。

起動時にGRUBコマンドラインに 'initcall_debug'を追加しようとしましたが、それが自分の状況に関連しているかどうかはわかりません。いずれにせよ、以下の行はreturned 0

$ dmesg -s 128000 | grep "initcall" | sed "s/\(。* \)after \(。* \)/\2\1/g" |ソート-n | grep 'returned-' 
 0 usecs [0.176011] initcall xen_pvh_gnttab_setup + 0x0/0x3a 戻ってきた -19 
 0 usecs [0.176400] initcall __gnttab_init + 0x0/0x40 戻ってきた -19 
 0 usecs [0.176444] initcall bts_init + 0x0/0xc2 戻ってきた -19 
 0 usecs [0.176444] initcall numachip_timer_init + 0x0/0x5a 戻ってきた -19 
 0 usecs [0.176444] initcall pt_init + 0x0/0x352 戻ってきた -19 
 0 usecs [0.176444] initcall setup_vcpu_hotplug_event + 0x0/0x31 戻ってきた -19 
 0 usecs [0.176444] initcall xenbus_init + 0x0/0x2d1 戻ってきた -19 
 0 usecs [0.176444] initcall xen_pcpu_init + 0x0/0xc5 戻ってきた -19 
 0 usecs [0.276002] initcall balloon_init + 0x0/0x1ba 戻ってきた -19 
 0 usecs [0.276002] initcall xen_acpi_pad_init + 0x0/0x52 戻ってきた -19 
 0 usecs [0.276002] initcall xen_setup_shutdown_event + 0x0/0x40 戻ってきた -19 
 0 usecs [0.277672] initcall save_microcode_in_initrd + 0x0/0xa0 戻ってきた -22 
 0 usecs [0.808110] initcall calgary_fixup_tce_spaces + 0x0/0x106 戻ってきた -19 
 0 usecs [0.808911] initcall AMD_iommu_pc_init + 0x0/0x22a 戻ってきた -19 
 0 usecs [0.808916] initcall intel_uncore_init + 0x0/0x24d 戻ってきた -19 
 0 usecs [0.810834] initcall efivarfs_init + 0x0/0x39 戻ってきた -19 
 0 usecs [0.839467] initcall intel_idle_init + 0x0/0x5e2 戻ってきた -19 
 0 usecs [0.841296] initcall bgrt_init + 0x0/0xba 戻ってきた -19 
 0 usecs [0.841303] initcall ghes_init + 0x0/0x142 戻ってきた -19 
 0 usecs [0.841336] initcall xenbus_probe_initcall + 0x0/0x53 戻ってきた -19 
 0 usecs [0.841338] initcall xenbus_init + 0x0/0x3b 戻ってきた -19 
 0 usecs [0.841340] initcall xenbus_backend_init + 0x0/0x4d 戻ってきた -19 
 0 usecs [0.841341] initcall hypervisor_subsys_init + 0x0/0x2a 戻ってきた -19 
 0 usecs [0.841342] initcall hyper_sysfs_init + 0x0/0x191 戻ってきた -19 
 0 usecs [0.841349] initcall xen_late_init_mcelog + 0x0/0x66 戻ってきた -19 
 0 usecs [0.841351] initcall xen_acpi_processor_init + 0x0/0x1d9 戻ってきた -19 
 0 usecs [0.841381] initcall xen_hvc_init + 0x0/0x24b 戻ってきた -19 
 0 usecs [0.865921] initcall xlblk_init + 0x0/0xf0 戻ってきた -19 
 0 usecs [0.866405] initcall netif_init + 0x0/0x77 戻ってきた -19 
 0 usecs [1.187288] initcall intel_pstate_init + 0x0/0xb3 戻ってきた -19 
 0 usecs [1.191312] initcall efivars_sysfs_init + 0x0/0x210 戻ってきた -19 
 0 usecs [1.191314] initcall esrt_sysfs_init + 0x0/0x2d9 戻ってきた -38 
 0 usecs [1.191522] initcall pmc_core_probe + 0x0/0x242 戻ってきた -19 
 0 usecs [1.317488] initcall boot_wait_for_devices + 0x0/0x2e 戻ってきた -19 
 0 usecs [1.330870] initcall powernowk8_init + 0x0/0x1e0 戻ってきた -19 
 0 usecs [1.330873] initcall centrino_init + 0x0/0x30 戻ってきた -19 
 0 usecs [1.336981] initcall efi_shutdown_init + 0x0/0x44 戻ってきた -19 
 0 usecs [1.336983] initcall itmt_legacy_init + 0x0/0x5b 戻ってきた -19 
 0 usecs [1.336989] initcall software_resume + 0x0/0x2a0 戻ってきた -2 
 4 usecs [1.191529] initcall pmc_atom_init + 0x0/0x2b2 戻ってきた -19 
 7 usecs [0.865931] initcall htcpld_core_init + 0x0/0x32 戻ってきた -19 
 10 usecs [9.639314] initcall AMD64_edac_init + 0x0/0x1000 [AMD64_edac_mod] 戻ってきた -19 
 10 usecs [9.947048] initcall AMD64_edac_init + 0x0/0x1000 [AMD64_edac_mod] 戻ってきた -19 
 12 usecs [8.432809] initcall AMD64_edac_init + 0x0/0x1000 [AMD64_edac_mod] 戻ってきた -19 
 12 usecs [9.328536] initcall AMD64_edac_init + 0x0/0x1000 [AMD64_edac_mod] 戻ってきた -19 
 13 usecs [7.579790] initcall AMD64_edac_init + 0x0/0x1000 [AMD64_edac_mod] 戻ってきた -19 
 15 usecs [7.760494] initcall AMD64_edac_init + 0x0/0x1000 [AMD64_edac_mod] 戻ってきた -19 
 15 usecs [8.032654] initcall AMD64_edac_init + 0x0/0x1000 [AMD64_edac_mod] 戻ってきた -19 
 16 usecs [9.200728] initcall AMD64_edac_init + 0x0/0x1000 [AMD64_edac_mod] 戻ってきた -19 
 17 usecs [7.652451] initcall AMD64_edac_init + 0x0/0x1000 [AMD64_edac_mod] 戻ってきた -19 
 17 usecs [9.421129] initcall AMD64_edac_init + 0x0/0x1000 [AMD64_edac_mod] 戻ってきた -19 
 18 usecs [7.932705] initcall AMD64_edac_init + 0x0/0x1000 [AMD64_edac_mod] 戻ってきた -19 
 20 usecs [8.932645] initcall AMD64_edac_init + 0x0/0x1000 [AMD64_edac_mod] 戻ってきた -19 
 22 usecs [0.863365] initcall agp_AMD64_mod_init + 0x0/0x26 戻ってきた -19 
 57 usecs [2.464629] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 57 usecs [2.568959] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 57 usecs [2.656072] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 57 usecs [2.920610] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 58 usecs [2.376457] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 58 usecs [2.420686] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 58 usecs [2.850913] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 65 usecs [2.728445] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 65 usecs [2.800692] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 66 usecs [2.116499] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 66 usecs [2.316528] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 66 usecs [2.496452] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 66 usecs [2.768653] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 72 usecs [2.888681] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 76 usecs [2.220657] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 78 usecs [2.612693] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 80 usecs [2.688437] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 89 usecs [9.421155] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 91 usecs [2.276836] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 95 usecs [2.072491] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 97 usecs [1.955728] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 104 usecs [2.176572] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 108 usecs [10.176986] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 109 usecs [10.080899] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 109 usecs [10.216712] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 109 usecs [10.313008] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 109 usecs [10.373069] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 115 usecs [10.042520] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 120 usecs [10.261266] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 124 usecs [7.652694] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 129 usecs [7.760871] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 138 usecs [8.433073] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 138 usecs [9.201083] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 141 usecs [7.403532] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 147 usecs [7.561564] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 152 usecs [7.933158] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 155 usecs [7.489113] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 158 usecs [10.124370] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 165 usecs [8.032815] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 167 usecs [8.932793] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 179 usecs [9.946483] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 183 usecs [9.639479] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 249 usecs [9.329127] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 270 usecs [1.851350] initcall fjes_init_module + 0x0/0xd0 [fjes] 戻ってきた -19 
 3545 usecs [1.161088] initcall i8042_init + 0x0/0x474 戻ってきた -19 
 5940 usecs [1.336958] initcall edd_init + 0x0/0x2d8 戻ってきた -19 

誰かがスタンバイの問題をデバッグするためのより良い方法を持っていますか?

追加の質問:Nvidiaドライバーのフルパージをもう一度実行するのは少しためらっています。問題のないTensorflow構成が機能しているからです。削除すると、CUDAドライバーを再インストールする必要がありますか?もしそうなら、これはTensorflowに必要な他のパッケージとは独立して行うことができますか?

どうもありがとう!

編集:私はSudo sh -c "sync && echo 1 > /sys/power/pm_trace && pm-suspend"を使用してスタンバイ状態に入り、後でdmesg出力を確認してみました。次の出力が見つかりました。

[    1.320847]   Magic number: 0:236:250
[    1.323713]   hash matches /build/linux-UDHJtG/linux-4.15.0/drivers/base/power/main.c:1559
[    1.326768] pci 0000:0a:00.0: hash matches
[    1.329815] memory memory124: hash matches

lspciを確認したところ、0000:0a:00.0は「VGA互換コントローラー:NVIDIA Corporation Device 1f07(rev a1)」であることがわかりました。そのため、Nvidiaドライバーをもう一度パージする必要があるようです。しかし、memory memory 124が何かはわかりません-誰か知っていますか?

編集2:Nvidiaドライバーを完全にパージして再インストールしました。同じ問題が起こっています。ただし、何かに気づきました。Anacondaを介してSpyderを開き、GPUを使用してニューラルネットモデルのトレーニングを開始したときにのみ発生します。何かアイデアはありますか?

編集3:Nvidia 418ドライバーに戻りました。同じ問題が発生したため、435ドライバーに切り替えました。これがdpkg -l | grep -i nvidiaからの私の出力です。

ii cuda-nsight-compute-10-1 10.1.243-1 AMD64 NVIDIA Nsight Compute 
 ii cuda-nsight-systems-10-1 10.1.243-1 AMD64 NVIDIA Nsight Systems 
 ii cuda-nvtx-10-1 10.1.243-1 AMD64 NVIDIA Tools Extension 
 ii libnVIDIA-cfg1-435:AMD64 435.21-0ubuntu0.18.04.2 AMD64 NVIDIA バイナリOpenGL/GLX構成ライブラリ
 ii libnVIDIA-common-435 435.21-0ubuntu0.18.04.2によって使用されるすべての共有ファイル NVIDIA ライブラリ
 ii libnVIDIA-compute-435:AMD64 435.21-0ubuntu0.18.04.2 AMD64 NVIDIA libcomputeパッケージ
 ii libnVIDIA-compute-435:i386 435.21-0ubuntu0.18.04.2 i386 NVIDIA libcomputeパッケージ
 ii libnVIDIA-decode-435:AMD64 435.21-0ubuntu0.18.04.2 AMD64 NVIDIA ビデオデコードランタイムライブラリ
 ii libnVIDIA-decode-435:i386 435.21-0ubuntu0.18.04.2 i386 NVIDIA ビデオデコードランタイムライブラリ
 ii libnVIDIA-encode-435:AMD64 435.21-0ubuntu0.18.04.2 AMD64 NVENC Video Encodingランタイムライブラリ
 ii libnVIDIA-encode-435:i386 435.21-0ubuntu0.18.04.2 i386 NVENC Video Encodingランタイムライブラリ
 ii libnVIDIA-fbc1-435:AMD64 435.21-0ubuntu0.18.04.2 AMD64 NVIDIA OpenGLベースのフレームバッファーキャプチャランタイムライブラリ
 ii libnVIDIA-fbc1-435:i386 435.21-0ubuntu0.18.04.2 i386 NVIDIA OpenGLベースのフレームバッファーキャプチャランタイムライブラリ
 ii libnVIDIA-gl-435:AMD64 435.21-0ubuntu0.18.04.2 AMD64 NVIDIA OpenGL/GLX/EGL/GLES GLVNDライブラリおよびVulkan ICD 
 ii libnVIDIA-gl-435:i386 435.21-0ubuntu0.18.04.2 i386 NVIDIA OpenGL/GLX/EGL/GLES GLVNDライブラリおよびVulkan ICD 
 ii libnVIDIA-ifr1-435:AMD64 435.21-0ubuntu0.18.04.2 AMD64 NVIDIA OpenGLベースのインバンドフレームリードバックランタイムライブラリ
 ii libnVIDIA-ifr1-435:i386 435.21-0ubuntu0.18.04.2 i386 NVIDIA OpenGLベースのインバンドフレームリードバックランタイムライブラリ
 ii nsight-compute-2019.4.0 2019.4.0.12-1 AMD64 NVIDIA Nsight Compute 
 ii nsight-systems-2019.3.7 2019.3.7.5-3837e03 AMD64 NVIDIA Nsight Systemsは、トレース機能を備えた統計的サンプリングプロファイラーです。
 ii nVIDIA-compute-utils-435 435.21-0ubuntu0.18.04.2 AMD64 NVIDIA 計算ユーティリティ
 ii nVIDIA-dkms-435 435.21-0ubuntu0.18.04.2 AMD64 NVIDIA DKMSパッケージ
 ii nVIDIA-driver-435 435.21-0ubuntu0.18.04.2 AMD64 NVIDIA ドライバーメタパッケージ
 ii nVIDIA-kernel-common-435 435.21-0ubuntu0.18.04.2 AMD64カーネルモジュールで使用される共有ファイル
 ii nVIDIA-kernel-source-435 435.21-0ubuntu0.18.04.2 AMD64 NVIDIA カーネルソースパッケージ
 ii nVIDIA-prime 0.8.8.2有効にするすべてのツール NVIDIAプライム
 ii nVIDIA-settings 418.87.00-0ubuntu1 AMD64ツール NVIDIA グラフィックドライバ
 ii nVIDIA-utils-435 435.21-0ubuntu0.18.04.2 AMD64 NVIDIA ドライバーサポートバイナリ
 ii xserver-xorg-video-nVIDIA-435 435.21-0ubuntu0.18.04.2 AMD64 NVIDIA バイナリXorgドライバー
1
Piethon

回避策が見つかりました- https://www.tensorflow.org/guide/gpu#allowing_gpu_memory_growth で説明されているように、メモリの増加をTRUEに設定する必要があります。少し迷惑ですが必要だと思います。あなたの助けをありがとう@ ubfan1!

誰かがこの問題を完全に修正する方法を知っているなら、私はとても感謝しています。

2
Piethon