Linux 3.1에서 실행되는 ext4로 포맷 된 하드 드라이브 인 Debian sid를 사용하고 있습니다.
메모리가 부족하고 스왑이 활성화되어 있지 않으면 이전 Linux 버전 (3.0 이전)에서 기억합니다. 프로그램이 일반적으로 중단됩니다. 이것은 중요한 작업없이 간단한 웹 브라우징으로 내 환경에 완벽합니다. 즉, 실수로 너무 많은 메모리를 사용하는 나쁜 웹 사이트를 가로 질러 실행하면 터미널을 사용할 수 없게 만들지 않고 충돌합니다.
그러나 현재 설정에서 컴퓨터는 백그라운드에서 강력한 I / O 처리량으로 중단됩니다. iotop은 kswapd0을 범인으로 드러냅니다. 이는 스와핑 때문임을 의미합니다. 사용 후에는 swapon -s
활성화 된 모든 스왑을 결정하기 위해, 내가 사용하는 swapoff -a
모든 스왑을 해제하고 swapon -s
모든 스왑이 비활성화되었는지 확인 다시.
그런 다음 메모리 사용량을 다시 최대화하려고했습니다. 아아, 내가 기대했던 행동은 일어나지 않았다. 대신 kswapd0은 RAM을 스왑 아웃하려고 여러 번 시도하고 스왑 공간이 없어서 실패합니다. 절대 포기하지 않기 때문에 내 컴퓨터는 영구적 인 I / O 과도한 동결 상태로 잠겨있어 디스크 상태가 좋지 않습니다.
내가 뭘 잘못하고 swapoff -a
있습니까? 왜 행동이 예전과 다를까요 (아마 3.0 이전)?
fstab
스왑에 대한 내용 을 언급하는 것으로 충분하다고 생각합니다 . 동작이 같은지 확인하십시오.
swapoff -a
은 스왑을 영구적으로 비활성화해야합니다. 즉, 다음에 다시 부팅 한 후에도 비활성화 상태를 유지해야합니다. 나는 이것을 확인했다. 그러나 다음 재부트 후에도 세션 중에 I / O "폭풍"이 계속 발생합니다. 기록적으로, swapoff -a
당시 스왑이 0 이었기 때문에 I / O "폭풍"은 발생하지 않았습니다 .
swapoff -a
입니다 하지 영구적.
swapoff -a
자체를 수행하면 많은 I / O가 생성됩니다 (실제 RAM이 충분하지 않으면 프로세스가 종료 될 수 있습니다).swapoff -a
I / O "폭풍"의 원인이 아닌 것이 확실 합니까?