kswapd0
오늘 갑자기 서버가 다운이 되었다. 프로세스를 확인 해보니 CPU 과다점유로 서버가 다운이 된 것.
원인은 kswapd0 cpu 과다점유 때문이다. 이놈이 99% 정도 점유해서 서버가 뻑난 것이다.
근본적인 원인은 잘 모르겠다. 일단 설정은
https://kb.lc/01.how_to/kswapd0/#reference
How To resolve High CPU occupation from kswapd0 - LC's Linux Doc System PRD
How To resolve High CPU occupation from kswapd0 Why? kswapd0, manages virtual memory and may be having issues due to moving processes to SWAP too frequently, causing cpu spikes and decreased system performance. High CPU Usage of kswapd0 indicates insuffici
kb.lc
이 페이지를 보고 수정을 했지만. 이런다고 해결이 될 지는 지켜봐야 된다. 골 때린다.
cat /proc/sys/vm/swappiness
확인해서 0으로 설정 (설정하는 방법), (설정하는 방법2)
echo 0 > /proc/sys/vm/swappiness
/etc/sysctl.conf 기본값에는 vm.swappiness 설정이 없으므로 새로 추가해주어야 한다.[2]
vi /etc/sysctl.conf
vm.swappiness = 0
cat /sys/kernel/mm/transparent_hugepage/enabled
확인해서 always 설정 (설정하는 방법)
echo always > /sys/kernel/mm/transparent_hugepage/enabled
/etc/default/grub 설정 파일 수정
GRUB_CMDLINE_LINUX 값 끝부분에 transparent_hugepage=always 추가
# grub2-mkconfig -o /boot/grub2/grub.cfg
메모리 되찾기 (설정하는 방법)
echo 10000 > /proc/sys/vm/vfs_cache_pressure
또는
$ sysctl vm.vfs_cache_pressure=10000
영구적으로 설정하기 위해서는 /etc/sysctl.conf 파일에 아래와 같이 추가
vm.vfs_cache_pressure = 10000
스와핑 방지
echo vm.swappiness=0 | tee -a /etc/sysctl.conf
캐시 지우기
echo 1 > /proc/sys/vm/drop_caches
이렇게 설정을 다~~~~ 했는데도 해결이 안된다.
그냥 프로세스 죽이기로 했다. 프로세스를 줄이면 일시적으로 해결이 되었다. 프로세스가 다시 뜨기전까지는...
- 현재 사용중인 프로세스 찾기
ps aux
- 프로세스 찾기
ps aux | grep kswapd0
| 리눅스 현재 사용중인 pid를 중지하기
kill -9 PID
'일기 > Develop Note' 카테고리의 다른 글
STT-Translate Success (0) | 2022.08.14 |
---|---|
Restart STT + Translate (0) | 2022.08.11 |
2022-03-23 | 개발노트 Moment Share | 03 (0) | 2022.03.25 |
2022-03-23 | 개발노트 Moment Share | 02 (0) | 2022.03.23 |
2022-03-22 | 개발노트 Moment Share | 01 (0) | 2022.03.22 |
![]() |
![]() |
![]() |
![]() |
![]() |