[ 리눅스 - 스왑 ] 가용 물리 메모리 충분해도 스와핑 발생하는 이유

   조회 4642   추천 0    

 

물리 메모리의 가용량이 충분해도,

  어떠한 이유로 스왑이 발생하는 것으로 알고 있습니다.


1. 이러한 상황이 굳이 스왑이 발생하는 이유가 궁금합니다.

2. 스압 크기를 대체로 물리 메모리 대비 또는 다른 기준으로 어느정도 잡으시는지 궁금합니다.


아시는 분의 조언 부탁 드립니다.




감사합니다.

짧은글 일수록 신중하게.
Noname1 2022-02
어플리케이션이 할당받은 해당 메모리에 엑서스를 하지 않아서 스왑으로 넘어간다고 알고있습니다
epowergate 2022-02
물리용량이 충분한건 없습니다.
아마도 vfs cache가 사용했을 겁니다.
/proc/sys/vm/* 의 내용보시면 답이 나올겁니다.

오래된 사람들은 물리멤 크기 x 2라고 할지도 모르겠는데 용도에 따라서 많이 다릅니다.  저는 swapoff 하고 사용합니다
     
dateno1 2022-02
여기 동포가...

스왑 심하게 긁는꼴 볼바엔 램을 늘리고 있습니다
언젠가는 2022-02
물리 메모리의 가용량이 충분해도 미래를 위해서 스왑에 넣어둘수 있습니다. /proc/sys/vm/swappiness로 조정합니다. 0 낮으면 스왑을 안쓰고 100 높으면 스왑을 씁니다.
속도 중요하고 메모리 많이 넣고 중요 서비스만 돌아가는 서버 (예: DB)는 스왑을 쓰면 많이 느려지니 낮은 숫자로 쓰시면 됩니다. epowergate님 말씀대로 가능하다면 아예 끄는게 젤 좋습니다. 근데 저는 완전히 꺼버리면 몇 프로그램이 안돌아가는 경우가 있어서, 최소인 4GB에 swappiness=1을 넣어둡니다.
잡다하게 서비스가 많이 돌아가는 서버는 스왑을 많이 해둬야 동시에 여러개 서비스를 물리 메모리 제한을 넘어서 돌릴수 있습니다. 물론 반응속도는 느려지겠죠. 이 경우에는 메모리*2배에 swappiness=수십 정도로 많이 했습니다.
뭐, 요새는 램 별로 안비싸니까 스왑 거의 잡지 마시고 swappiness 낮춰서 쓰세요.
Dreaday 2022-02
java 계열 프로세스 사용하시면 swap은 필수구여~

그 외의 프로세스는 잘 모르겠네용

java는 기본적으로 Xms 최소 Xmx 최대 메모리를 부여하거나 최대는 안하는 경우엔 물리 까지 전부 할당 가져가는 형태인데

스왑이없으면 app이 그냥 아무런 로그없이 죽어버려서요


QnA
제목Page 616/5728
2014-05   5256372   정은준1
2015-12   1781347   백메가
2020-02   14315   수퍼싸이언
2018-12   3043   푸른하늘아래
2024-09   2568   rpki
2015-08   4911   가빠로구나
2020-02   2662   크리보
2014-04   3730   이원재K
2020-02   5204   병따개님
2012-05   5574   병맛폰
2024-10   895   L2스위치
2012-05   6928   윤치열
2016-09   4450   킵고잉
2015-09   4312   안성현
2015-09   7636   jake
2024-10   892   박문형
2012-06   5371   엄청난x
2015-09   8022   거니네
2014-05   3910   가빠로구나
2019-01   4185   차넷컴퓨터
2021-06   4669   반성만
2009-03   6960   박노성