취미/Linux

리눅스 램디스크 활용

soulowner 2023. 2. 26. 04:57
반응형

부팅 후 램디스크를 자동으로 만들도록 설정합니다.

sudo xed /etc/fstab

맨 하단에 아래 내용 추가

tmpfs /media/ramdisk tmpfs defaults,size=1G 0 0

1G는 메모리 용량입니다.

사용 중 용량이 부족하면 더 늘리시거나 줄이시면 됩니다.

저장하고 메모장 종료.

xed ~/create_ramdisk_directory.sh

/home/본인 계정명 폴더에 create_ramdisk_directory.sh를 만듭니다.

이 파일은 시스템 설정 / 시작 애플리케이션 / 추가 후 아래 내용을 넣은 후 저장
(리눅스 민트 기준, 우분투나 다른 리눅스는 시작 애플리케이션이 없거나 다른 곳에 있을 수 있습니다.)

이름 : Make Directory in RamDisk

명령 : /home/본인 계정명/ramdisk_dir_make.sh

의견 : 램디스크에 서브 디렉토리를 만듭니다.

부팅 시 마다 아래 내용이 추가되어야 합니다.

#! /bin/bash

#기본 Google Chrome Cache
/bin/mkdir /media/ramdisk/google-chrome
/bin/mkdir /media/ramdisk/google-chrome/Default
/bin/mkdir /media/ramdisk/google-chrome/Default/Cache
/bin/mkdir /media/ramdisk/google-chrome/Default/Cache/Cache_Data
/bin/mkdir /media/ramdisk/google-chrome/Default/Cache/Cache_Data/index-dir
/bin/mkdir /media/ramdisk/google-chrome/Default/'Code Cache'
/bin/mkdir /media/ramdisk/google-chrome/Default/'Code Cache'/js
/bin/mkdir /media/ramdisk/google-chrome/Default/'Code Cache'/js/index-dir
/bin/mkdir /media/ramdisk/google-chrome/Default/'Code Cache'/wasm
/bin/mkdir /media/ramdisk/google-chrome/Default/'Code Cache'/wasm/index-dir
/bin/mkdir /media/ramdisk/google-chrome/Default/'Code Cache'/webui_js
/bin/mkdir /media/ramdisk/google-chrome/Default/'Code Cache'/webui_js/index-dir

#Guest Profile를 사용하는 경우.
/bin/mkdir /media/ramdisk/google-chrome/'Guest Profile'
/bin/mkdir /media/ramdisk/google-chrome/'Guest Profile'/Cache
/bin/mkdir /media/ramdisk/google-chrome/'Guest Profile'/Cache/Cache_Data
/bin/mkdir /media/ramdisk/google-chrome/'Guest Profile'/Cache/Cache_Data/index-dir
/bin/mkdir /media/ramdisk/google-chrome/'Guest Profile'/'Code Cache'
/bin/mkdir /media/ramdisk/google-chrome/'Guest Profile'/'Code Cache'/js
/bin/mkdir /media/ramdisk/google-chrome/'Guest Profile'/'Code Cache'/js/index-dir
/bin/mkdir /media/ramdisk/google-chrome/'Guest Profile'/'Code Cache'/wasm
/bin/mkdir /media/ramdisk/google-chrome/'Guest Profile'/'Code Cache'/wasm/index-dir
/bin/mkdir /media/ramdisk/google-chrome/'Guest Profile'/'Code Cache'/webui_js
/bin/mkdir /media/ramdisk/google-chrome/'Guest Profile'/'Code Cache'/webui_js/index-dir

#Profile 1가 있는 경우.
/bin/mkdir /media/ramdisk/google-chrome/'Profile 1'
/bin/mkdir /media/ramdisk/google-chrome/'Profile 1'/Cache
/bin/mkdir /media/ramdisk/google-chrome/'Profile 1'/Cache/Cache_Data
/bin/mkdir /media/ramdisk/google-chrome/'Profile 1'/Cache/Cache_Data/index-dir
/bin/mkdir /media/ramdisk/google-chrome/'Profile 1'/'Code Cache'
/bin/mkdir /media/ramdisk/google-chrome/'Profile 1'/'Code Cache'/js
/bin/mkdir /media/ramdisk/google-chrome/'Profile 1'/'Code Cache'/js/index-dir
/bin/mkdir /media/ramdisk/google-chrome/'Profile 1'/'Code Cache'/wasm
/bin/mkdir /media/ramdisk/google-chrome/'Profile 1'/'Code Cache'/wasm/index-dir
/bin/mkdir /media/ramdisk/google-chrome/'Profile 1'/'Code Cache'/webui_js
/bin/mkdir /media/ramdisk/google-chrome/'Profile 1'/'Code Cache'/webui_js/index-dir

#Microsoft Edge Cache
/bin/mkdir /media/ramdisk/microsoft-edge
/bin/mkdir /media/ramdisk/microsoft-edge/Default
/bin/mkdir /media/ramdisk/microsoft-edge/Default/Cache
/bin/mkdir /media/ramdisk/microsoft-edge/Default/Cache/Cache_Data
/bin/mkdir /media/ramdisk/microsoft-edge/Default/Cache/Cache_Data/index-dir
/bin/mkdir /media/ramdisk/microsoft-edge/Default/'Code Cache'
/bin/mkdir /media/ramdisk/microsoft-edge/Default/'Code Cache'/js
/bin/mkdir /media/ramdisk/microsoft-edge/Default/'Code Cache'/js/index-dir
/bin/mkdir /media/ramdisk/microsoft-edge/Default/'Code Cache'/wasm
/bin/mkdir /media/ramdisk/microsoft-edge/Default/'Code Cache'/wasm/index-dir

#기타 폴더
/bin/mkdir /media/ramdisk/cs_backgrounds
/bin/mkdir /media/ramdisk/fontconfig
/bin/mkdir /media/ramdisk/thumbnails
/bin/mkdir /media/ramdisk/thumbnails/fail
/bin/mkdir /media/ramdisk/thumbnails/fail/gnome-thumbnail-factory
/bin/mkdir /media/ramdisk/thumbnails/large
/bin/mkdir /media/ramdisk/thumbnails/normal

저장하고 밖으로 나옵니다.
더 추가할 내용이 있다면 추가하시면 됩니다.

만든 파일에 실행 권한 설정을 해줍니다.

chmod 755 create_ramdisk_directory.sh

다음은 폴더를 삭제해야 합니다.
(이 페이지를 보면서 작업하시는 거라면 Cache 폴더가 삭제 되지 않습니다.
그러니 크롬을 종료 후에 삭제하세요.)

#! /bin/bash

#Google Chrome Default 폴더 삭제
sudo rm -rf ~/.cache/google-chrome/Default/Cache
sudo rm -rf ~/.cache/google-chrome/Default/'Code Cache'

#Google Chrome Guest Profile 폴더 삭제
sudo rm -rf ~/.cache/google-chrome/'Guest Profile'/Cache
sudo rm -rf ~/.cache/google-chrome/'Guest Profile'/'Code Cache'

#Google Chrome Profile 1 폴더 삭제
sudo rm -rf ~/.cache/google-chrome/'Profile 1'/Cache
sudo rm -rf ~/.cache/google-chrome/'Profile 1'/'Code Cache'

#Microsoft Edge 폴더 삭제
sudo rm -rf ~/.cache/microsoft-edge/Default/Cache
sudo rm -rf ~/.cache/microsoft-edge/Default/'Code Cache'

#기타 폴더
sudo rm -rf ~/.cache/cs_backgrounds
sudo rm -rf ~/.cache/fontconfig
sudo rm -rf ~/.cache/thumbnails

폴더를 모두 삭제하셨으면 이제 링크 파일을 만드셔야 합니다.
(이 역시, 페이지를 보면서 작업하신다면 Cache 폴더가 다시 생성돼, 링크 파일이 만들어지지 않습니다.
그러니 링크 파일을 만든 후에 크롬을 실행하세요.)

#! /bin/bash

#Google Chrome Default 캐시 링크 파일
sudo ln -s /media/ramdisk/google-chrome/Default/Cache ~/.cache/google-chrome/Default/Cache
sudo ln -s /media/ramdisk/google-chrome/Default/'Code Cache' ~/.cache/google-chrome/Default/'Code Cache'

#Google Chrome Guest Profile 캐시 링크 파일
sudo ln -s /media/ramdisk/google-chrome/'Guest Profile'/Cache ~/.cache/google-chrome/'Guest Profile'/Cache
sudo ln -s /media/ramdisk/google-chrome/'Guest Profile'/'Code Cache' ~/.cache/google-chrome/'Guest Profile'/'Code Cache'

#Google Chrome Profile 1 캐시 링크 파일
sudo ln -s /media/ramdisk/google-chrome/'Profile 1'/Cache ~/.cache/google-chrome/'Profile 1'/Cache
sudo ln -s /media/ramdisk/google-chrome/'Profile 1'/'Code Cache' ~/.cache/google-chrome/'Profile 1'/'Code Cache'

#Microsoft Edge 캐시 링크 파일
sudo ln -s /media/ramdisk/microsoft-edge/Default/Cache ~/.cache/microsoft-edge/Default/Cache
sudo ln -s /media/ramdisk/microsoft-edge/Default/'Code Cache' ~/.cache/microsoft-edge/Default/'Code Cache'

#기타 폴더
sudo ln -s /media/ramdisk/cs_backgrounds ~/.cache/cs_backgrounds
sudo ln -s /media/ramdisk/fontconfig ~/.cache/fontconfig
sudo ln -s /media/ramdisk/thumbnails ~/.cache/thumbnails

(더 추가하신 내용이 있다면 그 부분도 링크 파일을 만드셔야 합니다.)


이제 부팅하고 사용하시면 됩니다.

위에서도 언급했지만, 램디스크 용량은 사용하면서 늘리거나 줄이시면 됩니다.

 

파이어 폭스 램 디스크 활용

주소창에 about:config 입력

위험을 감수하고 계속 진행

cache 검색

browser.cache.disk.capacity 값을 0으로 변경(디스크 캐시값 0으로 변경)

browser.cache.disk.enable 값을 false로 변경(디스크 캐시 사용 안함)

browser.cache.memory.capacity 값을 262144로 변경(메모리 캐시값을 256MB로 설정)

1GB = 1024MB = 1024 * 1024

1MB = 1024KB

128MB =  128 * 1024 = 131072

256MB = 256 * 1024 = 262144

512MB =  512 * 1024 = 524288

1GB = 1024 * 1024 = 1048576

2GB = 2048 * 1024 = 2097152

이 값은 본인이 원하는 용량으로 조절하시면 됩니다.

동영상을 많이 볼 경우 용량을 더 크게 잡으셔야 합니다.

browser.cache.memory.enable 값을 true로 변경(메모리 캐시 사용)

 

참고로  /tmp 폴더와 /var/tmp 폴더를 램디스크에 사용하시려면,
좀 복잡한 방법을 사용해야 합니다.

/tmp 폴더와 /var/tmp 폴더마저도 램디스크로 사용하겠다, 하시는 분은

sh 파일 하나를 만드세요.
그 파일 안에 

#! /bin/bash

sudo /bin/mkdir /media/ramdisk/tmp1
sudo /bin/mkdir /media/ramdisk/tmp2

sudo rm -rf /tmp
sudo rm -rf /var/tmp

sudo ln -s /media/ramdisk/tmp1 /tmp
sudo ln -s /media/ramdisk/tmp2 /var/tmp

저장하고 종료

x-window가 완전히 동작된 후에 이 스크립트를 실행하세요.

그럼 기존에 있던 /tmp 폴더와 /var/tmp 폴더가 삭제된 후 링크 파일로 바뀝니다.

컴퓨터를 종료하기 직전에는 아래 스크립트를 꼭 실행하셔야 합니다.

run level = 0 에서 run level = 6 까지 모두. 

#! /bin/bash

sudo /bin/mkdir /tmp
sudo /bin/mkdir /var/tmp

 

이를 실행하지 않을 경우,

다음 부팅 때,

컴퓨터가 상당히 느려지며, x-window로 진입하지 않고 tt1 화면으로 보여집니다.

이때 해결 방법은 로그인을 하신 후,

위 스크립트를 실행하거나 본인이 직접 /tmp 폴더와 /var/tmp 폴더를 만들어 주시면 바로 x-window로 진입합니다.
(이때 오류가 날 수 있습니다. 그럴 경우 다시 재부팅하시면 에러가 해결됩니다.)

반응형