공유할 서비스 선택

TECH


TECH

OS SWAP이 왜 자꾸 사용하게 될까요? 누가 사용하는것일까요?

페이지 정보

작성자 OSworker 아이디로 검색 전체게시물 댓글 0건 조회 227회 좋아요 1회 작성일 24-08-30 21:36

본문

안녕하세요~ 

 

오늘은 SWAP에 대해서 얘기해보려 합니다. 

일단 기본적인 SWAP에 대해 설명 하겠습니다. 

 

> 설명 

리눅스에서 스왑(Swap)은 시스템의 물리적 메모리(RAM)가 부족할 때, 하드 디스크의 일부 공간을 임시 메모리로 사용하는 메커니즘입니다. 

쉽게 말해, RAM이 모자랄 때 하드 디스크에 임시로 데이터를 저장해 메모리처럼 사용하는 것입니다.

 

> 스왑인(Swap-in) & 스왑아웃(Swap-out):

. 스왑아웃(Swap-out): RAM이 부족할 때, 사용하지 않는 데이터(프로세스나 페이지)를 스왑 공간으로 옮기는 작업입니다.

. 스왑인(Swap-in): 반대로 스왑 공간에 있던 데이터를 다시 RAM으로 가져오는 작업입니다.

 

> 스왑과 관련된 설정

swappiness: 리눅스 커널에서 메모리와 스왑 간의 균형을 조정하는 매개변수로, 값이 클수록 스왑을 더 많이 사용합니다. 일반적으로 0에서 100까지의 값을 가지며, 기본값은 60입니다.

 

ff755544a0fb7b6fcd81c7562a73ac33_1725021159_2814.png

ff755544a0fb7b6fcd81c7562a73ac33_1725021159_3398.png




이제 고객 입장에서 질문과 대답형식으로 풀어가보도록하겠습니다. 


Q1) 서버에서 SWAP 이 발생되었는데 언제 사용했고, 어떤 프로세스가 사용했는지 알 수 있을까요?

   . 보통 이렇게 시간이 지나서 확인된거라면, sar를 통해 시간대를 확인할수 있습니다. 
 
  r  b   swpd           free       buff  cache         si   so    bi       bo   in          cs      us sy id wa st                 KST
 3  0 6953176   237892400   2120 284224480    0    0   5168   152   484706 899187  3  3 94  0  0 2023-08-16 09:25:58
 3  0 6953176   237893952   2120 284224608    0    0  10315   524  478822 890220  3  3 94  0  0 2023-08-16 09:25:59

 4 35 6951128  237878592   2120 284223424 4448  0   23535   308  541238 920980  4  3 70 23  0 2023-08-16 09:26:00 <<<<<<<<<---Swap in 발생 

12 15 6949336  237871088   2120 284227104 6556  0  18934   412  581251 947324  3  3 59 34  0 2023-08-16 09:26:01
 0 10 6948568  237843600   2120 284232096 5168  0  17674   704  538534 929558  4  4 67 25  0 2023-08-16 09:26:02


or 

12:00:00 AM  pswpin/s pswpout/s
<snip>
05:20:00 AM  0.21      0.00
05:30:00 AM  0.08      0.85
05:40:00 AM  0.47      0.00
05:50:00 AM  3.58      1.71
06:00:00 AM  2.48      0.00
06:10:00 AM 39.91      7.17   <<<<----- example of thrashing
06:20:00 AM  0.21      2.72
06:30:00 AM 13.30      1.04



  
Q2) 그럼 이 사용한 시간대의 프로세스를 알수있을까요?
   . 시간이 지나간 시간대에 프로세스를 찾을수는 없습니다. 다만, 현재 발생이 되고 있거나 발생시점에서는 찾을수있습니다. 

> 방법은 다음과 같습니다:
1. /proc/PID/status    VmSwap을 grep으로 검색 - 이는 스왑된 데이터 양을 보여주지만, 정확하지 않을 수 있습니다.

# cat /proc/*/status  | grep VmSwap

2. /proc/PID/smaps - 가장 정확한 정보 - 메모리 매핑별로 통계를 보여줍니다(프로세스가 가진 각 매핑에 대해).

#  cat /proc/*/smaps  | grep -i swap


Q3) SWAP이 현재 사용했던 수치로 계속 표현이 되는데 이것을 0 으로 수정 할수 있을까요?
   . 사실 리부팅 하면 swap 사용률이 다시 0 으로 표시될것인데, 운영중이라면 방법이 있긴 합니다. 

- 이와 같이 swap을 off->on 해주시면 됩니다. 
# swapoff -a  
# swapon -a

다만, 이런 식으로 스왑을 플러싱하면 스왑의 전체 내용이 주 메모리로 강제로 돌아갑니다. 
시스템의 메모리가 이미 부족한 경우 메모리 부족(OOM) 상태가 될 수 있습니다. 이 옵션을 사용하기 전에 주의와 고려가 필요합니다. 
시스템의 메모리가 다소 부족하고(매우 부족하지는 않음) 스왑의 내용을 메모리로 가져오는 동안 페이지를 회수해야 할 수 있으며, 이로 인해 잠시 성능이 저하될 수 있습니다.


Q4) 그런데 swap 이 자주 발생하는데 해결 방안이 있나요.?

  . swap 이 자주 발생된다면, 해당 프로세스를 찾아서 메모리 사용방법에 대해 확인을 하셔야하며, 문제가 없다면
    물리적인 메모리를 증설해주셔야 합니다. 


참고링크: 


위의 내용을 숙지하시면 앞으로 SWAP이 발생되더라도 당황하지 않고 처리 하실수있을거라 기대됩니다. 

혹, 궁금한 사항 있으시면 댓글로 남겨주십시요

감사합니다. 




댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
229 OS OSworker 아이디로 검색 전체게시물 10-11 13
audit 로그에 저장된 time 을 날짜/시간 으로 변경하여 보는법

카테고리 : OS

13 0
작성자 : OSworker 24/10/11
228 OS OSworker 아이디로 검색 전체게시물 09-29 133
[보안취약점]"RHSB-2024-002 - OpenPrinting cups-filters"에 대해 설명드리고자합니다.

카테고리 : OS

133 0
작성자 : OSworker 24/09/29
227 OS OSworker 아이디로 검색 전체게시물 09-25 177
누가 설정파일을 수정했는지 알고싶어요? 그럼 audit를 사용해보세요~!

카테고리 : OS

177 0
작성자 : OSworker 24/09/25
226 OS OSworker 아이디로 검색 전체게시물 09-15 143
RHEL6.10 앞으로 어떻게 되나요? 아직도 RHEL6버전을 사용하신다구요?

카테고리 : OS

143 0
작성자 : OSworker 24/09/15
열람중 OS OSworker 아이디로 검색 전체게시물 08-30 228
열람중
SWAP이 왜 자꾸 사용하게 될까요? 누가 사용하는것일까요?

카테고리 : OS

228 0
작성자 : OSworker 24/08/30
224 OS OSworker 아이디로 검색 전체게시물 08-22 225
리눅스 서버에 RDP를 설치하여 윈도우에서 "원격데스크탑접속"으로 연결

카테고리 : OS

225 0
작성자 : OSworker 24/08/22
223 Middleware 미들웨어 아이디로 검색 전체게시물 08-19 194
(IMDG)를 활용한 session 구성 -2 오픈소스 (Hazelcast, Apache Ignite) 설치방법

카테고리 : Middleware

194 0
작성자 : 미들웨어 24/08/19
222 OS OSworker 아이디로 검색 전체게시물 08-17 296
OpenSSH 의 암호화 또는 Hashing과 관련된 알고리즘에 대해 알아보려 합니다

카테고리 : OS

296 0
작성자 : OSworker 24/08/17
221 Middleware 미들웨어 아이디로 검색 전체게시물 08-09 201
(IMDG) Data Grid란? (IMDG)를 활용한 session 구성 -1

카테고리 : Middleware

201 0
작성자 : 미들웨어 24/08/09
220 OS OSworker 아이디로 검색 전체게시물 07-31 321
Red Hat 이벤트 행사에 대해 알고계신가요?

카테고리 : OS

321 0
작성자 : OSworker 24/07/31
Total 229건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top