2009년 6월 19일 금요일

메모리를 디스크처럼 사용 [ ramdisk ]


1.  가상 swap (memory + swap disk) 을 이용한 방법

  - 기존에 /tmp 와 /var/run 디렉토리가 이방법으로 사용하고 있습니다.

     경험이 있으신 분들은 일반 디렉토리 보다 /tmp 디렉토리에서 파일을

     생성하였을 때 속도가 빠르다는 것을 느끼셨을 겁니다.

     바로 가상 swap 의 부분중 memory 부분을 마치 디스크 처럼 사용하기 때문입니다.

     허나 /tmp 디렉토리의 용량을 "100%" 까지 사용하였을때는 여유메모리가

     부족하여 시스템에 문제가 발생하니 조심하여야 합니다.

 

 1) 생성하기

 cjk:[/] #  mkdir  /ramdisk

 

  - 100Mbyte 용량으로 swap 영역을 tmpfs 파일 시스템으로 마운트 하기

 cjk:[/] #  mount  -F  tmpfs  -o size=100m  swap  /ramdisk

 cjk:[/] #  df  -k /ramdisk
   파일시스템           K바이트    사용    가용   용량    설치지점
   swap                  102400       0  102400     0%    /ramdisk

 

 2) reboot 후에도 사용 하기 (vfstab 등록)

   - 위의 명령은 rebooting 후에는 사용할 수 없습니다. 그래서 다음의 파일에 등록합니다.

  cjk:[/] #  vi   /etc/vfstab

   swap   -   /ramdisk   tmpfs  2  yes  size=100m

 

 

2. solaris 9 version 에서의 ramdisk 설정(memory만)

   - solaris 9 버젼 부터 ramdisk 를 설정 할 수 있도록 만들었습니다.

      위의 예는 swap 장치를 이용하지만 이것은 순수하게 메모리만 사용합니다.

 

 1) 설정 하기

   - ramdiskadm 명령을 이용하여 100Mbyte 사이즈의 메모리 디스크를 설정함.

   cjk:[/] # ramdiskadm -a chojaekoo 100m
     /dev/ramdisk/chojaekoo                            <-- 자동으로 장치명이 생성됨

 

   - 설정된 ramdisk 정보 확인 하기

   cjk:[/] # ramdiskadm

        블록 장치                                                                크기        이동식
       /dev/ramdisk/chojaekoo                                   104857600      예


 

   - ramdisk 용 kernel driver 가 load 되었는지 확인함.
   cjk:[/] # modinfo |grep ramdisk    
    168 7843c164   20db  70   1  ramdisk (ramdisk driver v1.15)

 

   - 파일 시스템 구축하기

   cjk:[/] # newfs /dev/ramdisk/chojaekoo
    newfs: 새 시스템 파일 /dev/rramdisk/chojaekoo을(를) 구성하시겠습니까: (y/n)? y
    /dev/rramdisk/chojaekoo:        1 트랙, 600 섹터의 341 실린더에 있는 204600 섹터
           99.9MB (22 실린더 그룹) (16 c/g, 4.69MB/g, 2240 i/g)
       수퍼 블록 백업 (fsck -F ufs -o b=#의 경우):
       32, 9632, 19232, 28832, 38432, 48032, 57632, 67232, 76832, 86432,
       115232, 124832, 134432, 144032, 153632, 163232, 172832, 182432, 192032,
       201632,

    - 파일 시스템 mount 하기

    cjk:[/] # mkdir  /chojaekoo

    cjk:[/] #  mount  /dev/ramdisk/chojaekoo  /chojaekoo

    cjk:[/] # df -k /chojaekoo
      파일시스템                          K바이트    사용    가용   용량    설치지점
       /dev/ramdisk/chojaekoo      95771       9   86185     1%    /chojaekoo

 

     - vfstab 에 수정하여 rebooting 후에도 사용하기
     cjk:[/] #  vi   /etc/vfstab

/dev/ramdisk/chojaekoo  /dev/rramdisk/chojaekoo   -   /chojaekoo   tmpfs  2  yes  -

 

2) 제거 하기

    cjk:[/] #  umount  /chojaekoo

    cjk:[/] #  ramdiskadm  -d  /dev/ramdisk/chojaekoo 

 

 

댓글 없음:

댓글 쓰기