RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'Swap'에 해당되는 글 1

출처 : 대전국제IT교육센터 정성재 강사

 

1. 가상메모리(Virtual Memory)
(1) 개요: 하드디스크의 일부를 마치 메모리처럼 사용할 수 있게 해주는 기술을 말한다. 이는 물리
          적 메모리의 한계를 어느 정도 극복할 수 있다. 이 기법은 하나의 프로그램이 실행될 때,
          프로그램의 전체가 메모리(RAM)에 올라와 실행되지 않고 필요한 부분만 을 불러와 실행하
          는 기법을 기본으로 한다.
(2) 기법: 커널은 실제 메모리(RAM)에 올라와 있는 메모리 블록들 중에 당장 쓰이지 않는 것을
          디스크에 저장한다. 이를 통해 사용가능한 메모리 영역을 늘린다. 만일 디스크에 저장되
          었던 메모리 블록이 다시 필요하게 되면 그것을 다시 실제 메모리안으로 올려지며, 대신
          다른 블록이 디스크로 내려가게 된다. 이런 과정이 일어나고 있다는 것을 사용자가 알 수
          없고, 그저 많은 양의 메모리가 있는 것처럼 보일 뿐이어서 점유하고 있는 메모리가 디스
          크에 있는 실제 메모리에 있는 지는 전혀 신경 쓸 필요가 없다. 그러나, 디스크를 읽고
          쓰는 시간은 RAM보다 훨씬 느리기 때분에 프로그램의 실행은 그만큼 더디게 된다. 이렇게
          가상메모리로 쓰이는 하드디스크의 영역을 스왑영역(Swap Space)라고 부른다.


2. 스왑
(1) 개요: 스왑영역은 보통 처음 설치시에 스왑파티션으로 설정을 꼭 하도록 되어 있다. 설치시의
          스왑파티션의 크기는 실제 RAM의 2배정도를 잡도록 권장한다. 이렇게 파티션으로 설정하는
          방법이 있고, 스왑 파일로 설정할 수 있다. 스왑 파일은 그 크기를 언제라도 자유롭게
          조절할 수 있지만 스왑파티션에 비해 속도는 느리다.
(2) 관련명령어
   1) mkswap
    ㄱ. 설명: 스왑파티션이나 스왑파일을 생성하는 명령이다.
    ㄴ. 사용법
       mkswap [option] 스왑파일 or 스왑파티션 [size]
    ㄷ. option
       -c : 스왑파티션생성시에 사용하는 옵션이다.
    ㄹ. 사용예
      a. mkswap /swap-file 10240
          => 10240K 사이즈의 /swap-file을 생성한다.
      b. mkswap -c /dev/hdb1
          => /dev/hdb1을 스왑파티션으로 설정한다.
   2) swapon
    ㄱ. 설명: 스왑파티션이나 스왑파일을 구동하는 명령이다.
    ㄴ. 사용법
        swapon [option] 스왑파일 or 스왑영역
    ㄷ. option
       -a : /etc/fstab파일에 있는 swap을 전부 활성화시킨다.
       -s : 스왑영역의 상태를 보여준다.
    ㄹ. 사용예
      a. swapon /dev/hdb1
      b. swapon /swap-file
      c. swapon -a
          => /etc/fstab파일에 설정되어 있는 swap 영역을 모두 활성화시킨다.
      d. [root@www /]# swapon -s
         Filename                        Type            Size    Used    Priority
         /dev/hda1                       partition       530104  0       -1
          => 현재 스왑의 상태를 보여준다.
   3) swapoff
     ㄱ. 설명: 스왑파티션이나 스왑파일의 구동을 중단시킨다.
     ㄴ. 사용법
        swapoff 스왑파일 or 스왑영역
     ㄷ. 사용예
        swapoff /swap-file
(3) 스왑 영역만들기
   1) 스왑파일생성하기
     ㄱ. dd명령을 실행하여 빈틈이 하나도 없는 스왑파일을 생성한다.
        [root@www /root]# dd if=/dev/zero of=/swap-file bs=1024 count=10240
        10240+0 records in
        10240+0 records out
         => (설명)
           /dev/zero: 빈틈이 없는 파일을 생성할 때 사용한다.
           /swap-file: 생성하고자할 스왑파일의 이름이다.
           bs=1024: 입출력단위의 크기를 지정한다. 보통 블록사이즈라고 부르며 단위는 바이트이
                   다. 현재설정은 1024byte, 즉 1KB이다.
           count=10240: 입출력 단위의 몇 배 크기의 파일을 만들 것인지를 지정한다. (즉 10240KB
                       임) count는 꼭 4의 배수로 지정해주는 것이 좋은데, 그 이유는 커널이 스왑
                       하는 메모리페이지(Memory Page)의 단위가 4KB이기 때문이다.
     ㄴ. 커널이 해당하는 파일을 가상메모리로 사용할 수 있도록 mkswap명령을 내린다.
        [root@www /root]# mkswap /swap-file 10240
        Setting up swapspace version 1, size = 10481664 bytes
     ㄷ. /swap-file의 권한을 root로 제한한다.
        [root@www /root]# chmod 600 /swap-file
     ㄹ. 스왑을 사용하도록 한다.
        [root@www /root]# swapon /swap-file
     ㅁ. 시스템 부팅시마다 자동으로 사용되도록 설정하려면 /etc/fstab에 등록을 한다.
        /swap-file               swap                    swap    defaults        0 0
   2) 스왑파티션만들기 : 새로운 하드디스크를 Primary Slave(/dev/hdb)에 장착했다고 첫번째 파티
                        션을 스왑파티션이라고 가정
     ㄱ. fdisk명령을 이용하여 스왑파티션을 생성한다.
        fdisk /dev/hdb
     ㄴ. mkswap명령을 이용하여 스왑파일시스템 생성
        mkswap -c /dev/hdb1
     ㄷ. 스왑영역 활성화
        swapon /dev/hdb1
     ㄹ. 부팅시마다 사용하기 위해 /etc/fstab에 등록한다.

3. 메모리관리
(1) 관련명령어
   1) free
     ㄱ. 설명: 현재 사용중인 메모리의 상태를 출력해 주는 명령이다.
     ㄴ. 사용법
        free [option]
     ㄷ. option
        -m : MB 단위로 보여준다.
        -k : KB 단위로 보여준다.
     ㄹ. 사용예
        a. [root@www /root]# free
                        total       used       free     shared    buffers     cached
           Mem:        513064     509532       3532          0      50480     348948
           -/+ buffers/cache:     110104     402960
           Swap:       265032        556     264476
        b. [root@www /root]# free -m
             total       used       free     shared    buffers     cached
           Mem:           501        498          2          0         45        353
           -/+ buffers/cache:         99        401
           Swap:          258          0        258
            => (설명)
              Mem: 실제적인 메모리의 상태를 보여준다. total은 전체메모리, used는 사용중인 메
                  모리양, free는 사용되지 않고 있는 메모리, share는 프로세스간 공유되고 있는
                  메모리, buffers와 cached는 현재 디스크의 버퍼및 캐쉬로 사용되는 메모리공간
                  을 뜻한다.
              -/+ buffers/cache: 물리적인 메모리에서 버퍼로 사용되는 부분을 제외한 값
              Swap: 스왑공간의 상태를 보여준다. used는 전체스왑의 크기, free는 사용중인 스왑,
                   free는 사용되지 않는 스왑을 뜻한다.
(2) 기타 : 메모리상태정보는 top명령으로 확인가능하며 또한 /proc/meminfo에서도 확인가능하다.

Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
OpenSource (1)
Tips! (1)
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31