Skip to content

dnf install中にsshのセッションが切れる

事象

  • dnf install tcpdumpを実行したところ、SSHの接続が切れた

環境

Terminal window
[root@test-server ~]# cat /etc/redhat-release
CentOS Stream release 9

ログ

/var/log/dnf.log

2025-03-23T16:10:02+0900 INFO --- logging initialized ---
2025-03-23T16:10:02+0900 DDEBUG timer: config: 7 ms
2025-03-23T16:10:02+0900 DEBUG ロードされたプラグイン: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync, system-upgrade, uploadprofile
2025-03-23T16:10:02+0900 DEBUG DNF version: 4.14.0
2025-03-23T16:10:02+0900 DDEBUG Command: dnf install -d 10 tcpdump
2025-03-23T16:10:02+0900 DDEBUG Installroot: /
2025-03-23T16:10:02+0900 DDEBUG Releasever: 9
2025-03-23T16:10:02+0900 DEBUG cachedir: /var/cache/dnf
2025-03-23T16:10:02+0900 DDEBUG Base command: install
2025-03-23T16:10:02+0900 DDEBUG Extra commands: ['install', '-d', '10', 'tcpdump']
2025-03-23T16:10:02+0900 DEBUG User-Agent: constructed: 'libdnf (CentOS Stream 9; generic; Linux.x86_64)'
2025-03-23T16:10:03+0900 DEBUG repo: リモートからダウンロード中: baseos
2025-03-23T16:10:03+0900 DEBUG countme: no event for baseos: window already counted
2025-03-23T16:10:05+0900 DEBUG baseos: は 2025年03月21日 01時03分42秒 から取得したメタデータを使用中。
2025-03-23T16:10:05+0900 DEBUG repo: リモートからダウンロード中: appstream
2025-03-23T16:10:05+0900 DEBUG countme: no event for appstream: window already counted
2025-03-23T16:10:15+0900 DEBUG appstream: は 2025年03月21日 01時06分47秒 から取得したメタデータを使用中。
2025-03-23T16:10:15+0900 DEBUG repo: リモートからダウンロード中: extras-common
2025-03-23T16:10:15+0900 DEBUG countme: no event for extras-common: window already counted
2025-03-23T16:10:16+0900 DEBUG extras-common: は 2025年01月10日 01時57分52秒 から取得したメタデータを使用中。
2025-03-23T16:10:16+0900 DEBUG repo: リモートからダウンロード中: epel
2025-03-23T16:10:16+0900 DEBUG countme: no event for epel: window already counted

/var/log/messages

Mar 23 15:51:40 sample kernel: scheduler.rb:6* invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=0
Mar 23 15:51:40 test-server kernel: CPU: 1 PID: 270973 Comm: scheduler.rb:6* Not tainted 5.14.0-302.el9.x86_64 #1
Mar 23 15:51:40 test-server kernel: Hardware name: Red Hat Linux KVM, BIOS 0.5.1 01/01/2011
Mar 23 15:51:40 test-server kernel: Call Trace:
Mar 23 15:51:40 test-server kernel: <TASK>
Mar 23 15:51:40 test-server kernel: dump_stack_lvl+0x34/0x48
Mar 23 15:51:40 test-server kernel: dump_header+0x4a/0x201
Mar 23 15:51:40 test-server kernel: oom_kill_process.cold+0xb/0x10
Mar 23 15:51:40 test-server kernel: out_of_memory+0xed/0x2e0
Mar 23 15:51:40 test-server kernel: __alloc_pages_slowpath.constprop.0+0x6e8/0x960
Mar 23 15:51:40 test-server kernel: __alloc_pages+0x21d/0x250
Mar 23 15:51:40 test-server kernel: folio_alloc+0x17/0x50
Mar 23 15:51:40 test-server kernel: __filemap_get_folio+0x1cd/0x330
Mar 23 15:51:40 test-server kernel: filemap_fault+0x40b/0x740
Mar 23 15:51:40 test-server kernel: ? next_uptodate_page+0x160/0x1f0
Mar 23 15:51:40 test-server kernel: ? filemap_map_pages+0x298/0x540
Mar 23 15:51:40 test-server kernel: __do_fault+0x37/0x110
Mar 23 15:51:40 test-server kernel: do_read_fault+0xf0/0x160
Mar 23 15:51:40 test-server kernel: do_fault+0xa0/0x350
Mar 23 15:51:40 test-server kernel: __handle_mm_fault+0x58c/0x650
Mar 23 15:51:40 test-server kernel: handle_mm_fault+0xc5/0x2a0
Mar 23 15:51:40 test-server kernel: do_user_addr_fault+0x1bb/0x6b0
Mar 23 15:51:40 test-server kernel: exc_page_fault+0x62/0x150
Mar 23 15:51:40 test-server kernel: asm_exc_page_fault+0x22/0x30
Mar 23 15:51:40 test-server kernel: RIP: 0033:0x7ff3bc66fb00
Mar 23 15:51:40 test-server kernel: Code: Unable to access opcode bytes at RIP 0x7ff3bc66fad6.
Mar 23 15:51:40 test-server kernel: RSP: 002b:00007ff3b63ca6e8 EFLAGS: 00010246
Mar 23 15:51:40 test-server kernel: RAX: 000000000000006e RBX: 0000000005da6fd0 RCX: 0000000000000000
Mar 23 15:51:40 test-server kernel: RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000005da70a0
Mar 23 15:51:40 test-server kernel: RBP: 00007ff3b63ca720 R08: 0000000005da7068 R09: 000000000008ddec
Mar 23 15:51:40 test-server kernel: R10: 00007ff3b63ca720 R11: 0000000000000246 R12: 0000000005da7048
Mar 23 15:51:40 test-server kernel: R13: 0000000003915014 R14: 00000000023e3ff0 R15: 00007ff3b6af9450
Mar 23 15:51:40 test-server kernel: </TASK>
Mar 23 15:51:40 test-server kernel: Mem-Info:
Mar 23 15:51:40 test-server kernel: active_anon:8897 inactive_anon:201225 isolated_anon:0#012 active_file:28 inactive_file:773 isolated_file:0#012 unevictable:0 dirty:0 writeback:0#012 slab_reclaimable:6218 slab_unreclaimable:8760#012 mapped:6228 shmem:10920 pagetables:1512 bounce:0#012 kernel_misc_reclaimable:0#012 free:12565 free_pcp:0 free_cma:0
Mar 23 15:51:40 test-server kernel: Node 0 active_anon:35588kB inactive_anon:804900kB active_file:112kB inactive_file:3092kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:24912kB dirty:0kB writeback:0kB shmem:43680kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 32768kB writeback_tmp:0kB kernel_stack:2944kB pagetables:6048kB all_unreclaimable? yes
Mar 23 15:51:40 test-server kernel: Node 0 DMA free:4368kB boost:0kB min:728kB low:908kB high:1088kB reserved_highatomic:0KB active_anon:0kB inactive_anon:10692kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15992kB managed:15360kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
Mar 23 15:51:40 test-server kernel: lowmem_reserve[]: 0 911 911 911 911
Mar 23 15:51:40 test-server kernel: Node 0 DMA32 free:45892kB boost:0kB min:44324kB low:55404kB high:66484kB reserved_highatomic:2048KB active_anon:35588kB inactive_anon:794208kB active_file:276kB inactive_file:3340kB unevictable:0kB writepending:0kB present:1032168kB managed:971252kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
Mar 23 15:51:40 test-server kernel: lowmem_reserve[]: 0 0 0 0 0
Mar 23 15:51:40 test-server kernel: Node 0 DMA: 12*4kB (UME) 12*8kB (UM) 12*16kB (UM) 8*32kB (UME) 5*64kB (UME) 3*128kB (UME) 2*256kB (ME) 1*512kB (E) 2*1024kB (ME) 0*2048kB 0*4096kB = 4368kB
Mar 23 15:51:40 test-server kernel: Node 0 DMA32: 310*4kB (UME) 231*8kB (UME) 199*16kB (UME) 86*32kB (UE) 66*64kB (UME) 30*128kB (UM) 113*256kB (UM) 1*512kB (U) 0*1024kB 0*2048kB 0*4096kB = 46528kB
Mar 23 15:51:40 test-server kernel: Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
Mar 23 15:51:40 test-server kernel: 11757 total pagecache pages
Mar 23 15:51:40 test-server kernel: 0 pages in swap cache
Mar 23 15:51:40 test-server kernel: Free swap = 0kB
Mar 23 15:51:40 test-server kernel: Total swap = 0kB
Mar 23 15:51:40 test-server kernel: 262040 pages RAM
Mar 23 15:51:40 test-server kernel: 0 pages HighMem/MovableOnly
Mar 23 15:51:40 test-server kernel: 15387 pages reserved
Mar 23 15:51:40 test-server kernel: 0 pages cma reserved
Mar 23 15:51:40 test-server kernel: 0 pages hwpoisoned
Mar 23 15:51:40 test-server kernel: Tasks state (memory values in pages):
Mar 23 15:51:40 test-server kernel: [ pid ] uid tgid total_vm rss pgtables_bytes swapents oom_score_adj name
(省略)
Mar 23 15:51:40 test-server kernel: [ 287938] 0 287938 99000 84120 831488 0 0 dnf
Mar 23 15:51:40 test-server kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1001.slice/session-1228.scope,task=dnf,pid=287938,uid=0
Mar 23 15:51:40 test-server kernel: Out of memory: Killed process 287938 (dnf) total-vm:396000kB, anon-rss:336480kB, file-rss:0kB, shmem-rss:0kB, UID:0 pgtables:812kB oom_score_adj:0
Mar 23 15:51:40 test-server systemd[1]: session-1228.scope: A process of this unit has been killed by the OOM killer.
Mar 23 15:51:40 test-server systemd[1]: session-1228.scope: Killing process 287677 (sshd) with signal SIGKILL.
Mar 23 15:51:40 test-server systemd[1]: session-1228.scope: Killing process 287679 (sshd) with signal SIGKILL.
Mar 23 15:51:40 test-server systemd[1]: session-1228.scope: Killing process 287680 (bash) with signal SIGKILL.
Mar 23 15:51:40 test-server systemd[1]: session-1228.scope: Killing process 287721 (su) with signal SIGKILL.
Mar 23 15:51:40 test-server systemd[1]: session-1228.scope: Killing process 287722 (bash) with signal SIGKILL.
Mar 23 15:51:40 test-server systemd[1]: session-1228.scope: Failed with result 'oom-kill'.
Mar 23 15:51:40 test-server systemd[1]: session-1228.scope: Consumed 2.860s CPU time.
Mar 23 15:51:40 test-server systemd-logind[527]: Session 1228 logged out. Waiting for processes to exit.
Mar 23 15:51:40 test-server systemd-logind[527]: Removed session 1228.

原因

直接原因

  • /var/log/messagesを確認したら、OOM killerにてプロセスキルされていた

根本原因

  • 実際にメモリを確認したところ、swapメモリがなかった

    Terminal window
    [root@test-server ~]# free -h
    total used free shared buff/cache available
    Mem: 963Mi 707Mi 279Mi 42Mi 135Mi 256Mi
    Swap: 0B 0B 0B
    [root@test-server ~]#

対処

スワップファイルを作成する

  1. ファイルシステムの空きを確認する

    Terminal window
    [root@test-server ~]# df -h /
    ファイルシス サイズ 使用 残り 使用% マウント位置
    /dev/vda2 99G 5.6G 88G 6% /
    [root@test-server ~]#
  2. スワップファイルを作成する

    • 参照

      作業ログ
      Terminal window
      [root@test-server ~]# dd if=/dev/zero of=/swapfile bs=1M count=2048
      2048+0 レコード入力
      2048+0 レコード出力
      2147483648 bytes (2.1 GB, 2.0 GiB) copied, 9.93601 s, 216 MB/s
      [root@test-server ~]#
      Terminal window
      [root@test-server ~]# chmod 600 /swapfile
      [root@test-server ~]#
      Terminal window
      [root@test-server ~]# mkswap /swapfile
      スワップ空間バージョン 1 を設定します。サイズ = 2 GiB (2147479552 バイト)
      ラベルはありません, UUID=13e6f741-ad6a-40eb-9f51-8278c1f00cbe
      [root@test-server ~]#
      Terminal window
      [root@test-server ~]# swapon /swapfile
      [root@test-server ~]#
      Terminal window
      [root@test-server ~]# free -h
      total used free shared buff/cache available
      Mem: 963Mi 707Mi 63Mi 42Mi 377Mi 255Mi
      Swap: 2.0Gi 0B 2.0Gi
      [root@test-server ~]#
      Terminal window
      [root@test-server etc]# ls -l fstab*
      -rw-r--r--. 1 root root 427 12月 2 2021 fstab
      -rw-r--r-- 1 root root 427 12月 2 2021 fstab.bk.20250323.01
      [root@test-server etc]#
      [root@test-server etc]# diff fstab fstab.bk.20250323.01
      [root@test-server etc]#
      [root@test-server etc]# vi fstab
      [root@test-server etc]# diff fstab fstab.bk.20250323.01
      13,14d12
      < /swapfile none swap sw 0 0
      <
      [root@test-server etc]#

結果

  • 再起動後、dnf install tcpdumpを実行したところ、問題なくインストールできた

    Terminal window
    [root@test-server ~]# dnf install tcpdump
    依存関係が解決しました。
    =====================================================================================================================================
    パッケージ アーキテクチャー バージョン リポジトリー サイズ
    =====================================================================================================================================
    インストール:
    tcpdump x86_64 14:4.99.0-9.el9 appstream 544 k
    トランザクションの概要
    =====================================================================================================================================
    インストール 1 パッケージ
    ダウンロードサイズの合計: 544 k
    インストール後のサイズ: 1.4 M
    これでよろしいですか? [y/N]: y
    パッケージのダウンロード:
    tcpdump-4.99.0-9.el9.x86_64.rpm 5.1 MB/s | 544 kB 00:00
    -------------------------------------------------------------------------------------------------------------------------------------
    合計 1.4 MB/s | 544 kB 00:00
    トランザクションの確認を実行中
    トランザクションの確認に成功しました。
    トランザクションのテストを実行中
    トランザクションのテストに成功しました。
    トランザクションを実行中
    準備 : 1/1
    scriptletの実行中: tcpdump-14:4.99.0-9.el9.x86_64 1/1
    インストール中 : tcpdump-14:4.99.0-9.el9.x86_64 1/1
    scriptletの実行中: tcpdump-14:4.99.0-9.el9.x86_64 1/1
    検証 : tcpdump-14:4.99.0-9.el9.x86_64 1/1
    インストール済み:
    tcpdump-14:4.99.0-9.el9.x86_64
    完了しました!
    [root@test-server ~]#