작은숲:위키노트/리눅스에서 SSD 성능 최적화
이 문서는 리눅스에서 SSD의 성능을 최대한 끌어 올리기 위한 설정에 대한 글이다. 우선 커널 버전과 파일 시스템 확인한다. 보통 ext4 파일 시스템 사용한다.
# uname -a
Linux red 2.6.32-573.8.1.el6.x86_64 #1 SMP Tue Nov 10 18:01:38 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/fstab
...
UUID=9808c92b-3995-4491-b7bb-fd5c575d422a / ext4 defaults 1 1
TRIM 기능 활성화 되어 있는지 확인한다.
# hdparm -I /dev/sda
...
* Data Set Management TRIM supported
...
파일 시스템 마운트 옵션을 설정한다.
# mount
/dev/sda3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
# vi /etc/fstab
...
UUID=9808c92b-3995-4491-b7bb-fd5c575d422a / ext4 defaults,relatime,discard,errors=remount-ro 1 1
UUID=7f7b8c01-3f80-437a-a7d5-c2c6508d5631 /boot ext4 defaults,discard 1 2
UUID=adaa86e8-c4ad-4eef-9721-f22ec79f0525 swap swap defaults,discard 0 0
...
# mount -oremount /dev/sda1
# mount -oremount /dev/sda3
# mount
/dev/sda3 on / type ext4 (rw,relatime,discard,errors=remount-ro)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw,discard)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
가급적 스왑의 사용을 줄인다. 메모리만 충분하다면 스왑은 쓰지 않을 수록 좋다. CentOS의 기본값은 60.
# cat /proc/sys/vm/swappiness
60
# echo 1 > /proc/sys/vm/swappiness
부팅할 때마다 적용될 수 있도록 /etc/rc.local 파일에 swappiness 설정을 추가한다.
# vi /etc/rc.local
...
echo 1 > /proc/sys/vm/swappiness
디스크 스케쥴러를 확인한다. SSD에는 noop 스케쥴러를 쓰는 것이 좋다.
# cat /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq]
# echo noop > /sys/block/sda/queue/scheduler
# cat /sys/block/sda/queue/scheduler
[noop] anticipatory deadline cfq
참고 자료
- CentOS 6.4 에서 SSD 환경설정
- Centos 에서 SSD 사용
- SSD 에서 TRIM은 무엇인가?
- 리눅스, SSD를 위한 최적화
- Linux 환경에서 SSD 성능 최적화하기
- SSD를 쓰면 DBMS가 빨라질까?
| 배포판 | |
|---|---|
| 서버 프로그램 | |
| 시스템 도구 | |
| 시스템 보안 | |
| 시스템 설정 | |
| HOWTO 문서 | |
| 사용자 설정 | |
| 활용 | |
| 명령어 | |