내 컴퓨터가 여러 번 충돌했습니다. 또한, 메모리를 모두 채우는 프로그램을 실행해도 재현이 가능합니다. 시스템이 스왑 파일에 쓰기 시작하자마자 시스템이 멈추고 재부팅해야 합니다.
로그에는 충돌이 발생하기 전에 다음과 같은 유용한 로그 정보가 표시되지 않습니다.
Mar 23 19:12:01 classen systemd[1]: Starting Cleanup of Temporary Directories...
Mar 23 19:12:01 classen systemd[1]: Started Cleanup of Temporary Directories.
Mar 23 19:12:08 classen wpa_supplicant[757]: wlp3s0: WPA: Group rekeying completed with ...
-- Reboot --
Mar 23 19:17:03 classen systemd-journald[380]: Runtime journal (/run/log/journal/) is 8.0M, max 796.6M, 788.6M free.
사실 저는 이 문제를 어떻게 해결해야 할지 모르겠습니다. 누군가 비슷한 것을 보았고 올바른 방향으로 나를 가리킬 수 있기를 바랍니다. 이상하게도 한동안 작업한 후 내 시스템은 어느 정도 스왑을 수행할 수 있었습니다(적어도 top
스왑 공간의 일부가 사용되었음을 나타냄). 정지는 스왑 파일의 로드가 심한 경우에만 발생합니다.
이것은 내 설정입니다.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 512M 0 part /boot
└─sda2 8:2 0 238G 0 part
└─MyStorage 254:0 0 238G 0 crypt
├─MyStorage-swapvol 254:1 0 16G 0 lvm [SWAP]
└─MyStorage-rootvol 254:2 0 222G 0 lvm /
sdb 8:16 0 931.5G 0 disk
└─sdb1 8:17 0 931.5G 0 part
sr0 11:0 1 1024M 0 rom
관련 부품 /etc/fstab
:
/dev/mapper/MyStorage-rootvol / btrfs rw,noatime,ssd,autodefrag,compress=lzo,space_cache 0 0
/dev/mapper/MyStorage-swapvol none swap defaults 0 0
UUID=63A7-3F81 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2
$ swapon --summary
Filename Type Size Used Priority
/dev/dm-1 partition 16777212 0 -1
저는 4.4.5 커널로 Arch Linux를 실행하고 있습니다.
$ uname -a
Linux classen 4.4.5-1-ARCH #1 SMP PREEMPT Thu Mar 10 07:38:19 CET 2016 x86_64 GNU/Linux
연결 /etc/mkinitcpio.conf
:
HOOKS="base udev autodetect modconf block encrypt lvm2 resume filesystems keyboard fsck"
답변1
몇 가지 실험을 통해 거대한 스왑 파티션(16GB)과 함께 사용할 때 실제로 충돌이 발생한다는 것을 확인할 수 있습니다.
Otheus와 Cas의 의견에 감사드립니다. 직감이 정확했습니다. 나는 그 효과를 과소평가했다. 아마도 이전에 사용하던 컴퓨터의 스왑 공간이 메모리에 비해 작았기 때문에 메모리를 많이 차지하는 프로세스가 결국 종료되었을 수도 있습니다.
일부 안전 조치로 시스템의 최대 스왑 공간을 줄입니다. 또한 단일 프로세스의 메모리 부족을 방지하기 위해 프로세스별 제한을 정의했습니다.
# limit memory usage to 10G per process
ulimit -Sv 10000000
이와 같은 도구는 vmstat 1
문제를 분석하는 데 도움이 될 수 있습니다.