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

   조회 4178   추천 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 1681/5709
2014-05   5149309   정은준1
2015-12   1683843   백메가
2014-06   4043   데이비드
2019-11   4043   1김In1
2015-06   4043   황진우
2015-12   4043   엄마야누나…
2018-08   4043   nelson1945
2017-08   4043   송진현
2015-01   4043   PiPPuuP
2017-04   4043   나비z
2014-06   4043   회원K
2015-07   4043   이희주
2016-10   4043   정연
2016-10   4043   편한세상
2016-01   4043   과거지사
2017-05   4043   아르코
2017-11   4043   아마데우쓰
2016-02   4043   영업과철학
2018-02   4043   PCMaster
2019-07   4043   머리감자
2015-09   4043   오정환
2020-06   4043   KDHNOVA