Jak mój dysk twardy może wymieniać się bez partycji wymiany?

9

Nie mam partycję swap na moim dysku, bo wolą o OOM żniwiarka niszczący wszystko to chce szybko zamiast czekać 10 minut na moja partycja swap aby wypełnić + 5 innych minut, aby uruchomić OOM żniwiarka + katastrofę. Zasadniczo moim problemem jest:

  1. uruchomić eat_all_my_memory;
  2. odczekać 10 minut z niereagującym systemem (dioda LED dysku twardego zawsze świeci);
  3. w międzyczasie spróbuj przełączyć się na TTY;
  4. poczekaj kilka minut, aby się faktycznie przełączyć;
  5. wprowadź nazwę użytkownika i hasło;
  6. poczekaj kilka minut;
  7. Zaloguj sie;
  8. wyloguj się z powodu żniwiarza OOM;
  9. powtarzaj od 5, aż zadziała;
  10. użyj topi zobacz, że a kworker„działa”;
  11. zabić ponownie;
  12. dostać wiadomość od żniwiarza z informacją, że eat_all_my_memoryzostał zabity;
  13. Pamięć jest zwolniona.

Ostatni raz zajęło to 12 minut. Moje próby zalogowania się w TTY wydają się nie mieć wpływu na cały czas cyklu. Mam więc kilka pytań:

  1. Dlaczego mój system nawet zapisuje coś na dysku? Nie ma zamiany !!!
  2. Gdzie to pisze?
  3. Nadal nie ma sposobu, aby powiedzieć zabójcy OOM, aby zabił największy proces użytkownika lub ten, który zjadł większość pamięci w minimalnym czasie. Do tego czasu, czy jest jakiś sposób, aby zabójca OOM po prostu wykonał swoją pracę bez próby zrobienia czegokolwiek z dyskiem?

Miałem problem z Debianem, Ubuntu, a teraz Archlinuxem, więc nie wydaje się, aby było to specyficzne dla dystrybucji.

EDYCJA: fragmenty pliku dziennika

Uruchomiłem przestępcze polecenie około 15:28. Wygląda na to, że system zajmuje dużo czasu, zanim zorientuje się, że nic nie zostało.

déc. 11 15:28:56 hostname dbus[475]: [system] Failed to activate service 'org.freedesktop.ModemManager1': timed out
déc. 11 15:29:40 hostname dbus[475]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.ModemManager1.service': Unit dbus-org.freedesktop.ModemManager1.service failed to load: No such file or directory.
déc. 11 15:30:31 hostname dbus-daemon[475]: dbus[475]: [system] Failed to activate service 'org.freedesktop.ModemManager1': timed out
déc. 11 15:30:46 hostname systemd[1]: Starting Getty on tty2...
déc. 11 15:30:46 hostname systemd[1]: Started Getty on tty2.
déc. 11 15:31:56 hostname systemd[1]: Starting Session 2 of user username.
déc. 11 15:31:56 hostname systemd[1]: Started Session 2 of user username.
déc. 11 15:31:57 hostname systemd-logind[472]: New session 2 of user username.
déc. 11 15:31:58 hostname systemd[1]: [email protected] holdoff time over, scheduling restart.
déc. 11 15:31:58 hostname systemd[1]: Starting Getty on tty2...
déc. 11 15:31:58 hostname systemd[1]: Started Getty on tty2.
déc. 11 15:32:10 hostname systemd[1]: Stopped Session 2 of user username.
déc. 11 15:32:18 hostname systemd-logind[472]: Removed session 2.
déc. 11 15:33:01 hostname systemd[1]: Starting Session 3 of user username.
déc. 11 15:33:02 hostname systemd[1]: Started Session 3 of user username.
déc. 11 15:33:15 hostname systemd-logind[472]: New session 3 of user username.
déc. 11 15:33:37 hostname systemd-logind[472]: Failed to save session data for 3: No space left on device
déc. 11 15:35:00 hostname dbus-daemon[475]: dbus[475]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.nm-dispatcher.service': Unit dbus-org.freedesktop.nm-dispatcher.service failed to load: No such file or directory.
déc. 11 15:35:00 hostname kernel: chromium invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj=300
déc. 11 15:34:52 hostname systemd[1]: [email protected] holdoff time over, scheduling restart.
déc. 11 15:34:52 hostname systemd[1]: Stopping Getty on tty2...
déc. 11 15:34:52 hostname systemd[1]: Starting Getty on tty2...
déc. 11 15:34:52 hostname systemd[1]: Started Getty on tty2.
déc. 11 15:34:52 hostname systemd-logind[472]: Removed session 3.
déc. 11 15:35:00 hostname kernel: chromium cpuset=/ mems_allowed=0
déc. 11 15:35:00 hostname kernel: CPU: 0 PID: 9811 Comm: chromium Not tainted 3.12.3-1-ARCH #1
déc. 11 15:35:00 hostname kernel: Hardware name: Dell Inc. Latitude E6400                  /0X574R, BIOS A20 12/21/2009
déc. 11 15:35:00 hostname kernel:  0000000000000000 ffff8800502179a8 ffffffff814ee3db ffff8800ab6588b0
déc. 11 15:35:01 hostname kernel:  ffff880050217a38 ffffffff814ec36e ffff8800502179c8 ffffffff81062d66
déc. 11 15:35:01 hostname kernel:  ffff880050217a10 ffffffff810f3354 0000000000000000 ffff8800bf449b28
déc. 11 15:35:01 hostname kernel: Call Trace:
déc. 11 15:35:01 hostname kernel:  [<ffffffff814ee3db>] dump_stack+0x54/0x8d
déc. 11 15:35:01 hostname kernel:  [<ffffffff814ec36e>] dump_header+0x7f/0x200
déc. 11 15:35:01 hostname kernel:  [<ffffffff81062d66>] ? put_online_cpus+0x56/0x80
déc. 11 15:35:01 hostname kernel:  [<ffffffff810f3354>] ? rcu_oom_notify+0xe4/0x100
déc. 11 15:35:01 hostname kernel:  [<ffffffff81138dd6>] oom_kill_process+0x206/0x390
déc. 11 15:35:01 hostname kernel:  [<ffffffff81139557>] out_of_memory+0x437/0x480
déc. 11 15:35:01 hostname kernel:  [<ffffffff8113f3e9>] __alloc_pages_nodemask+0xad9/0xaf0
déc. 11 15:35:01 hostname kernel:  [<ffffffff8117eaa9>] alloc_pages_current+0xa9/0x160
déc. 11 15:35:01 hostname kernel:  [<ffffffff81136297>] __page_cache_alloc+0x97/0xc0
déc. 11 15:35:01 hostname kernel:  [<ffffffff81137c38>] filemap_fault+0x188/0x430
déc. 11 15:35:01 hostname kernel:  [<ffffffff8115c2bf>] __do_fault+0x6f/0x590
déc. 11 15:35:01 hostname kernel:  [<ffffffff811610e8>] handle_mm_fault+0x398/0x10f0
déc. 11 15:35:01 hostname kernel:  [<ffffffff814f8c59>] __do_page_fault+0x1e9/0x5f0
déc. 11 15:35:01 hostname kernel:  [<ffffffff81168177>] ? do_mmap_pgoff+0x357/0x3e0
déc. 11 15:35:01 hostname kernel:  [<ffffffff814f906e>] do_page_fault+0xe/0x10
déc. 11 15:35:01 hostname kernel:  [<ffffffff814f5c88>] page_fault+0x28/0x30
déc. 11 15:35:01 hostname kernel: Mem-Info:
déc. 11 15:35:01 hostname kernel: Node 0 DMA per-cpu:
déc. 11 15:35:01 hostname kernel: Node 0 DMA per-cpu:
déc. 11 15:35:01 hostname kernel: CPU    0: hi:    0, btch:   1 usd:   0
déc. 11 15:35:01 hostname kernel: CPU    1: hi:    0, btch:   1 usd:   0
déc. 11 15:35:01 hostname kernel: Node 0 DMA32 per-cpu:
déc. 11 15:35:01 hostname kernel: CPU    0: hi:  186, btch:  31 usd:  30
déc. 11 15:35:01 hostname kernel: CPU    1: hi:  186, btch:  31 usd:  64
déc. 11 15:35:01 hostname kernel: active_anon:690683 inactive_anon:9400 isolated_anon:0
                                      active_file:92 inactive_file:104 isolated_file:0
                                      unevictable:37 dirty:3 writeback:24 unstable:0
                                      free:14229 slab_reclaimable:4844 slab_unreclaimable:6907
                                      mapped:9344 shmem:12110 pagetables:9731 bounce:0
                                      free_cma:0
déc. 11 15:35:01 hostname kernel: Node 0 DMA free:12148kB min:232kB low:288kB high:348kB active_anon:3024kB inactive_anon:44kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15992kB managed:15908kB mlocked:0kB dirty:0kB writeback:0kB mapped:40kB shmem:44kB slab_reclaimable:32kB slab_unreclaimable:160kB kernel_stack:40kB pagetables:200kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes
déc. 11 15:35:01 hostname kernel: lowmem_reserve[]: 0 2984 2984 2984
déc. 11 15:35:01 hostname kernel: Node 0 DMA32 free:44768kB min:44820kB low:56024kB high:67228kB active_anon:2759708kB inactive_anon:37556kB active_file:368kB inactive_file:416kB unevictable:148kB isolated(anon):0kB isolated(file):0kB present:3117364kB managed:3058728kB mlocked:148kB dirty:12kB writeback:96kB mapped:37336kB shmem:48396kB slab_reclaimable:19344kB slab_unreclaimable:27468kB kernel_stack:3424kB pagetables:38724kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:1540 all_unreclaimable? yes
déc. 11 15:35:01 hostname kernel: lowmem_reserve[]: 0 0 0 0
déc. 11 15:35:01 hostname kernel: Node 0 DMA: 5*4kB (UEM) 4*8kB (UE) 6*16kB (UE) 1*32kB (E) 7*64kB (UEM) 0*128kB 3*256kB (UEM) 3*512kB (UEM) 1*1024kB (E) 2*2048kB (ER) 1*4096kB (M) = 12148kB
déc. 11 15:35:01 hostname kernel: Node 0 DMA32: 402*4kB (UER) 661*8kB (UEM) 437*16kB (UE) 141*32kB (UE) 96*64kB (UEM) 16*128kB (UE) 3*256kB (U) 0*512kB 15*1024kB (M) 1*2048kB (M) 0*4096kB = 44768kB
déc. 11 15:35:01 hostname kernel: Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
déc. 11 15:35:01 hostname kernel: 12341 total pagecache pages
déc. 11 15:35:01 hostname kernel: 0 pages in swap cache
déc. 11 15:35:01 hostname kernel: Swap cache stats: add 0, delete 0, find 0/0
déc. 11 15:35:01 hostname kernel: Free swap  = 0kB
déc. 11 15:35:01 hostname kernel: Total swap = 0kB
déc. 11 15:35:01 hostname kernel: 783436 pages RAM
déc. 11 15:35:01 hostname kernel: 14777 pages reserved
déc. 11 15:35:01 hostname kernel: 557929 pages shared
déc. 11 15:35:01 hostname kernel: 739735 pages non-shared
déc. 11 15:35:01 hostname kernel: [ pid ]   uid  tgid total_vm      rss nr_ptes swapents oom_score_adj name
déc. 11 15:35:01 hostname kernel: [  152]     0   152   157732       79     284        0             0 systemd-journal
déc. 11 15:35:01 hostname kernel: [  184]     0   184     8115      317      19        0         -1000 systemd-udevd
déc. 11 15:35:01 hostname kernel: [  471]     0   471    82124      530      56        0             0 NetworkManager
déc. 11 15:35:01 hostname kernel: [  472]     0   472     6454       79      18        0             0 systemd-logind
déc. 11 15:35:01 hostname kernel: [  474]     0   474    20099      626      41        0             0 cupsd
déc. 11 15:35:01 hostname kernel: [  475]    81   475     4604      317      14        0          -900 dbus-daemon
déc. 11 15:35:01 hostname login[17681]: pam_unix(login:session): session opened for user username by LOGIN(uid=0)
déc. 11 15:35:01 hostname kernel: [  478]     0   478    47623      185      28        0             0 gdm
déc. 11 15:35:01 hostname kernel: [  491]     0   491    69089      264      38        0             0 gdm-simple-slav
déc. 11 15:35:01 hostname kernel: [  495]     0   495    52967    17799     112        0             0 Xorg
déc. 11 15:35:01 hostname kernel: [  496]     0   496    65758      934      32        0             0 accounts-daemon
déc. 11 15:35:01 hostname kernel: [  502]   102   502   126663     1810      46        0             0 polkitd
déc. 11 15:35:01 hostname kernel: [  504]     0   504    78582     1823      52        0             0 colord
déc. 11 15:35:01 hostname kernel: [  515]     0   515     7563      150      19        0             0 wpa_supplicant
déc. 11 15:35:01 hostname kernel: [  525]   120   525     7213      100      19        0             0 systemd
déc. 11 15:35:01 hostname kernel: [  527]   120   527    12666      255      29        0             0 (sd-pam)
déc. 11 15:35:01 hostname kernel: [  533]     0   533     2152       46      10        0             0 dhcpcd
déc. 11 15:35:01 hostname kernel: [  557]     0   557    56854      316      40        0             0 upowerd
déc. 11 15:35:01 hostname kernel: [  614]     0   614     2152       46      10        0             0 dhcpcd
déc. 11 15:35:01 hostname kernel: [  745]     0   745    98980     2352      64        0             0 gdm-session-wor
déc. 11 15:35:01 hostname kernel: [  748]  1000   748     7213       99      19        0             0 systemd
déc. 11 15:35:01 hostname kernel: [  749]  1000   749    12666      263      29        0             0 (sd-pam)
déc. 11 15:35:01 hostname kernel: [  752]  1000   752    91654     1159      41        0             0 gnome-keyring-d
déc. 11 15:35:01 hostname kernel: [  754]  1000   754   138634      493      99        0             0 gnome-session
déc. 11 15:35:01 hostname kernel: [  768]  1000   768     3976       38      13        0             0 dbus-launch
déc. 11 15:35:02 hostname kernel: [  769]  1000   769     4912      513      14        0             0 dbus-daemon
déc. 11 15:35:02 hostname kernel: [  772]  1000   772     3166       80      10        0             0 ssh-agent
déc. 11 15:35:02 hostname kernel: [  775]  1000   775    84370      678      33        0             0 at-spi-bus-laun
déc. 11 15:35:02 hostname systemd[1]: Starting Session 4 of user username.
déc. 11 15:35:02 hostname systemd-logind[472]: New session 4 of user username.
déc. 11 15:35:02 hostname systemd[1]: Started Session 4 of user username.
déc. 11 15:35:02 hostname login[17681]: LOGIN ON tty2 BY username
déc. 11 15:35:02 hostname kernel: [  779]  1000   779     4395      116      13        0             0 dbus-daemon
déc. 11 15:35:02 hostname kernel: [  782]  1000   782    31222      198      32        0             0 at-spi2-registr
déc. 11 15:35:02 hostname kernel: [  791]  1000   791   341490     2546     212        0             0 gnome-settings-
déc. 11 15:35:02 hostname kernel: [  803]  1000   803    50098      217      32        0             0 gvfsd
déc. 11 15:35:02 hostname kernel: [  809]  1000   809    93198      652      88        0             0 pulseaudio
déc. 11 15:35:02 hostname kernel: [  810]   133   810    42165       55      19        0             0 rtkit-daemon
déc. 11 15:35:02 hostname kernel: [  816]  1000   816    88701      219      39        0             0 gvfsd-fuse
déc. 11 15:35:02 hostname kernel: [  827]  1000   827    44128      285      21        0             0 dconf-service
déc. 11 15:35:02 hostname kernel: [  830]     0   830    88452      393      37        0             0 udisksd
déc. 11 15:35:02 hostname kernel: [  837]  1000   837   103711      438      97        0             0 gsd-printer
déc. 11 15:35:02 hostname kernel: [  846]  1000   846    17304      135      37        0             0 gconf-helper
déc. 11 15:35:02 hostname kernel: [  848]  1000   848    11426      202      27        0             0 gconfd-2
déc. 11 15:35:02 hostname kernel: [  850]  1000   850    89925     1001      40        0             0 ibus-daemon
déc. 11 15:35:02 hostname kernel: [  854]  1000   854    71274      207      40        0             0 ibus-dconf
déc. 11 15:35:02 hostname kernel: [  856]  1000   856    82143      550      89        0             0 ibus-x11
déc. 11 15:35:02 hostname kernel: [  865]  1000   865   490808    84757     496        0             0 gnome-shell
déc. 11 15:35:02 hostname kernel: [  873]  1000   873    52301      253      36        0             0 ibus-engine-sim
déc. 11 15:35:02 hostname kernel: [  886]  1000   886   122524     1764      70        0             0 gnome-shell-cal
déc. 11 15:35:02 hostname kernel: [  892]  1000   892   302273     2741     165        0             0 evolution-sourc
déc. 11 15:35:02 hostname kernel: [  895]  1000   895    95391      499      54        0             0 mission-control
déc. 11 15:35:02 hostname kernel: [  899]  1000   899   288823     8032     184        0             0 goa-daemon
déc. 11 15:35:03 hostname kernel: [  908]  1000   908    74163      402      43        0             0 gvfs-udisks2-vo
déc. 11 15:35:03 hostname kernel: [  913]  1000   913    52309      264      38        0             0 gvfs-goa-volume
déc. 11 15:35:03 hostname kernel: [  917]  1000   917    68304      236      34        0             0 gvfs-afc-volume
déc. 11 15:35:03 hostname kernel: [  922]  1000   922    49096      756      31        0             0 gvfs-gphoto2-vo
déc. 11 15:35:03 hostname kernel: [  926]  1000   926    46023      192      26        0             0 gvfs-mtp-volume
déc. 11 15:35:03 hostname kernel: [  928]  1000   928    27234      346      23        0             0 gvfsd-metadata
déc. 11 15:35:03 hostname kernel: [  969]  1000   969   393544    16251     221        0             0 evolution-calen
déc. 11 15:35:03 hostname kernel: [  970]  1000   970   121647     1552      99        0             0 zeitgeist-datah
déc. 11 15:35:03 hostname kernel: [  983]  1000   983   108204     2348      64        0             0 tracker-store
déc. 11 15:35:03 hostname kernel: [  989]  1000   989   134035     1425      84        0             0 tracker-miner-f
déc. 11 15:35:03 hostname kernel: [  994]  1000   994    89533      839      43        0             0 zeitgeist-daemo
déc. 11 15:35:04 hostname kernel: [  995]  1000   995   187376     2301     198        0             0 evolution-alarm
déc. 11 15:35:04 hostname kernel: [ 1093]  1000  1093   184129     1392     136        0             0 nm-applet
déc. 11 15:35:04 hostname kernel: [ 1100]  1000  1100    73740      286      45        0             0 telepathy-logge
déc. 11 15:35:04 hostname kernel: [ 1147]  1000  1147    68498      198      36        0             0 gvfsd-burn
déc. 11 15:35:04 hostname kernel: [ 1165]  1000  1165    12786      107      28        0             0 gnome-keyring-d
déc. 11 15:35:04 hostname kernel: [ 1389]  1000  1389   398982     8110     302        0             0 nautilus
déc. 11 15:35:04 hostname kernel: [ 1398]  1000  1398    88619      795      40        0             0 gvfsd-trash
déc. 11 15:35:04 hostname kernel: [ 1457]  1000  1457   203280    24474     225        0             0 lyx
déc. 11 15:35:04 hostname kernel: [ 1559]  1000  1559   183224     3012     149        0             0 gnome-terminal-
déc. 11 15:35:04 hostname kernel: [ 1562]  1000  1562     2092       30      10        0             0 gnome-pty-helpe
déc. 11 15:35:04 hostname kernel: [ 1563]  1000  1563    10912      634      25        0             0 zsh
déc. 11 15:35:04 hostname kernel: [ 1593]  1000  1593    57029     4140     110        0             0 gvim
déc. 11 15:35:04 hostname kernel: [ 2607]  1000  2607   102633      532      67        0             0 gvfsd-dav
déc. 11 15:35:04 hostname kernel: [ 3103]  1000  3103    10908      627      27        0             0 zsh
déc. 11 15:35:04 hostname kernel: [ 3148]  1000  3148   133807    31626     181        0             0 ipython2
déc. 11 15:35:04 hostname kernel: [ 3162]  1000  3162    98936     1056      60        0             0 gvfsd-http
déc. 11 15:35:04 hostname kernel: [ 3302]  1000  3302   107936      982      42        0             0 gvfsd-sftp
déc. 11 15:35:04 hostname kernel: [ 3308]  1000  3308     8996      212      21        0             0 ssh
déc. 11 15:35:04 hostname kernel: [ 5660]     2  5660    14912      126      31        0             0 dbus
déc. 11 15:35:04 hostname kernel: [ 8987]     0  8987     3653       42      11        0             0 rsync
déc. 11 15:35:04 hostname kernel: [ 9769]  1000  9769   511482    26442     351        0             0 chromium
déc. 11 15:35:05 hostname kernel: [ 9773]  1000  9773    93826     1522     144        0             0 chromium
déc. 11 15:35:05 hostname kernel: [ 9774]  1000  9774     1594       20       9        0             0 chrome-sandbox
déc. 11 15:35:05 hostname kernel: [ 9775]  1000  9775   104526     1647     158        0             0 chromium
déc. 11 15:35:05 hostname kernel: [ 9781]  1000  9781    42248      284      78        0             0 nacl_helper
déc. 11 15:35:05 hostname kernel: [ 9782]  1000  9782   159825     1664     139        0             0 chromium
déc. 11 15:35:05 hostname kernel: [ 9811]  1000  9811   329690    27929     379        0           300 chromium
déc. 11 15:35:05 hostname kernel: [ 9821]  1000  9821   321850    24448     515        0           300 chromium
déc. 11 15:35:05 hostname kernel: [ 9828]  1000  9828   305135     5463     199        0           300 chromium
déc. 11 15:35:05 hostname kernel: [ 9834]  1000  9834   305197     7785     219        0           300 chromium
déc. 11 15:35:05 hostname kernel: [13644]  1000 13644    11491      702      27        0             0 zsh
déc. 11 15:35:05 hostname kernel: [14978]  1000 14978   510597     4097     190        0             0 epiphany
déc. 11 15:35:05 hostname kernel: [15037]  1000 15037   490075     7884     183        0             0 WebKitWebProces
déc. 11 15:35:05 hostname kernel: [16463]  1000 16463   606648   342911     976        0             0 python2
déc. 11 15:35:05 hostname kernel: [17520]  1000 17520   307237     7027     213        0           300 chromium
déc. 11 15:35:05 hostname kernel: [17570]  1000 17570   308086     8086     216        0           300 chromium
déc. 11 15:35:05 hostname kernel: [17577]  1000 17577   308518     7981     210        0           300 chromium
déc. 11 15:35:05 hostname kernel: [17665]     0 17665    15239      114      36        0             0 login
déc. 11 15:35:05 hostname kernel: Out of memory: Kill process 16463 (python2) score 447 or sacrifice child
déc. 11 15:35:05 hostname kernel: Killed process 16463 (python2) total-vm:2426592kB, anon-rss:1366496kB, file-rss:5148kB

źródło
2
Być może powinieneś bardziej szczegółowo wyjaśnić, co to jest „eat_all_my_memory”. Jeśli masz jeden proces, który nagle maksymalizuje pamięć systemową, zwykle kończy się dość szybko.
goldilocks,
Ostatnim razem był to notebook IPython. Popełniłem prosty błąd i przydzieliłem matrycę 100 razy większą niż chciałem. I OOM i katastrofa.
Oczywiście jest to dość łatwe do wykonania celowo i za każdym razem, gdy to testowałem, gdy miernik pamięci zapali czerwone linie, proces umiera od razu. Czy to system z jednym rdzeniem? Fakt, że twój dysk twardy jest zajęty bez wymiany jest dziwny - nawet przy włączonej zamianie, nie widzę, aby system próbował z niego korzystać, gdy jeden proces zmienia się w beserk. Wróć do /var/log/syslog(lub messagesgdziekolwiek) do ostatniego razu i opublikuj wszystko, co znajdziesz.
goldilocks,

Odpowiedzi:

7

Nie zapisuje niczego na dysku; to jest czytanie z niego. Zamiana służy tylko do przechowywania danych, które nie są wspierane przez inny plik. Dane, w tym kod programu, który jest zabezpieczony innym plikiem, można po prostu usunąć, jeśli nie został zmodyfikowany. Widzicie więc, że wasze programy są odrzucane w celu zwolnienia pamięci RAM, a następnie muszą być ponownie odczytane z dysku.

Jeśli ustawisz /proc/sys/vm/overcommit_memoryna 2 i /proc/sys/vm/overcommit_ratio90, jądro po prostu odmówi przydzielenia więcej niż 90% twojego RAM. To sprawi, że nigdy nie spadniesz za mało na ram. W praktyce jednak skończy się to o wiele więcej niż 10% wolnej pamięci RAM, zanim alokacje zakończą się niepowodzeniem, ponieważ większość aplikacji nie wykorzystuje wszystkich pamięci RAM, które przydzielają.

psusi
źródło
Naprawdę nie rozumiem twojego pierwszego akapitu. Przez pomyłkę przydzieliłem zbyt dużo pamięci z interaktywnej sesji Pythona. Dlaczego odczytuje GB danych? Jakie dane w tym przypadku?
2
@Gael, wszystkie inne programy, które reagują wiecznie, są ciągle odczytywane z dysku.
psusi
1
@Gael, tak .. kroki, które już zasugerowałem, aby uniknąć wyczerpania pamięci RAM.
psusi
1
To najprawdopodobniej właściwa odpowiedź. Wyłączenie wymiany nie powoduje, że system jest bardziej responsywny. Ma wystarczającą ilość pamięci RAM.
Gilles „SO - przestań być zły”,
2
@Goldilocks, oczywiście jest bardziej agresywny, gdy RAM jest niski. Odzyskiwanie uruchamia się tylko wtedy, gdy siłownik jest stosunkowo niski, a przechodzi na wysoki bieg, gdy jest naprawdę niski. Niezależnie od tego, czy jest to odzyskiwanie przez zapis anonimowych danych na urządzeniu wymiany, czy po prostu odrzucanie mapowanych stron (niezależnie od tego, czy są one aktywnie mapowane przez działający proces, czy tylko w pamięci podręcznej systemu plików) tak naprawdę nie ma znaczenia dla ścieżki odzyskiwania. Jeśli musi zwolnić pamięć, musi zwolnić pamięć, nawet jeśli oznacza to, że uruchomione programy będą musiały poczekać na przywrócenie kodu.
psusi
3

Zamiana nie jest problemem, ponieważ nie używa żadnych:

hostname kernel: Free swap  = 0kB
hostname kernel: Total swap = 0kB

I nie sądzę, aby aktywność OOM była głównym problemem:

systemd-logind[472]: Failed to save session data for 3: No space left on device

To prawdopodobnie wrzuci klucz do szeregu prac. Jeśli całkowicie wypełnisz główny system plików, spodziewaj się znacznego spadku wydajności systemu. Ten konkretny przypadek ma miejsce podczas próby zalogowania się, więc „wyloguj się z powodu żniwiarza OOM” powinno być naprawdę „8. wyloguj się, ponieważ dysk twardy jest pełny” ...

systemd-logind[472]: Removed session 3.

Jedynymi procesami w tym raporcie, które ponoszą konsekwencje bezpośrednio związane z problemami OOM, są chrom i python2.

Złotowłosa
źródło
1
Domyślam się, że systemd zapisuje to w tmpfs, więc pełny ram również spowoduje ten błąd oprócz całego opóźnienia, które wydaje się być zamianą / stronicowaniem (a technicznie jest tak nawet wtedy, gdy nie masz zamiany).
psusi
Tak, to pytanie brzmi: „co zjada 15 GB HDD, mimo że nic nie ma zapisywać na dysku?”
To pytanie, czy masz 15 GB za darmo. Jeśli zaraz po tym nadal masz 15 GB, być może było to coś, co zostało wywołane przez problem z małą pamięcią, i który sam się wyczyścił. Jest to jednak niesamowita ilość do wykorzystania w jednym procesie, nie mam pojęcia, co by to było. A wiele procesów jest mało prawdopodobne, chyba że wszystkie są przypadkami tego samego (ponieważ kilka niepowiązanych procesów angażujących się w to samo dziwne zachowanie byłoby jeszcze bardziej dziwnym zbiegiem okoliczności).
złotowłosa