리눅스에서 SSD를 활용하기 위한 팁을 모아 봅시다.

== MOUNT ==
noatime 옵션을 주어 access time에 대해서 기록을 하지 않도록 한다.
효과 : 기본 설정대로 라면 파일 접근할 때마다 access time을 기록하느라 SSD 쓰기 하느라 수명 단축 될 것을, atime 기록하지 하지 않게 되므로 빈번한 파일 쓰기를 없애 상대적인 수명 연장.

{{{#!vim bash
# cat /etc/fstab | grep noatime
UUID=7b8dd6cf-909c-4cdb-a115-593fb0c86a85 /               ext4    noatime,errors=remount-ro 0       1
}}}

ext2 파티션을 쓰거나 저널링을 해제한다. (동작중인 파티션에는 사용할 수 없으며 라이브CD 이용하거나 readonly로 마운트하거나 init 스크립트에 넣어 동작시켜야 한다.

{{{#!vim bash
# tune2fs -l /dev/sda1 | grep has_journal
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

# tune2fs -O ^has_journal /dev/sda1
}}}

== TRIM ==
사용중인 SSD에 TRIM을 적용중인지는 hdparm을 이용해 확인할 수 있다.
효과 : 쓰기 성능 향상.
OS에서 파일  삭제하면 데이터가 완전히 소거 되는 것이 아니라 파일 링크만 끊어 놓는데, SSD는 데이터가 있는 공간에 덮어 쓰기를 못한다. 따라서 파일 삭제했다는 정보를 TRIM을 통해 SSD로 보내면 읽기 쓰기가 없는 동안 파일 링크가 삭제된 데이터를 소거한다.

{{{#!vim bash
# hdparm -I /dev/sda | grep TRIM
	   *	Data Set Management TRIM supported
	   *	Deterministic read ZEROs after TRIM
}}}

== Firefox 에서 램디스크를 캐시 디텍터리로 사용 ==
1. 램디스크 생성 및 마운트
(아래 size 옵션에서 생성을 원하는 램디스크의 크기를 지정한다.)
{{{#!vim bash
sudo mkdir /media/ramdisk
sudo mount -t tmpfs -o size=64M,nr_inodes=10k,mode=0777 tmpfs /media/ramdisk
}}}

2. firefox의 about:config 에서 설정 변경
browser.cache.disk.parent_directory = /media/ramdisk
(기본 디렉터리는 ~/.mozilla/firefox/프로필명/Cache)

3. fstab에 추가하여 영구 적용
{{{#!vim bash
sudo emacs /etc/fstab
tmpfs /media/ramdisk tmpfs size=64M,nr_inodes=10k,mode=777 0 0
}}}

참고 : [http://ubuntuforums.org/showthread.php?t=991205]

== Chromium 에서 램디스크 지정 ==
{{{#!vim bash
# chromium-browser --disk-cache-dir="/media/ramdisk"
}}}

== Windows ==
윈도우상에서는 DATARAM 사의 RAMDisk 제품을 이용해 램디스크를 생성할 수 있다.
윈도우 7 64비트 호스트 및 버추어박스 가상머신 내의 게스트에서도 이용 가능하다.
참고로 무료 버전에서는 생성 가능한 램디스크의 용량이 최대 4GB이다.

 * [http://memory.dataram.com/products-and-services/software/ramdisk]

이렇게 생성한 램디스크로 브라우저의 캐시 디렉터리를 옮기면 SSD의 쓰기 동작을 줄일 수 있다.

== 참고 ==
 * [http://kldp.org/node/123574 SSD 많이 사용하시나요? - KLDP]
 * [http://opentechnow.blogspot.com/2010/02/linux-ssd-optimization-guide.html]
 * [http://superuser.com/questions/145876/will-these-instructions-work-when-turning-of-journaling-on-an-ext4-ssd]