작은숲:위키노트/리눅스에서 SSD 성능 최적화: 두 판 사이의 차이

잔글 (판 1개를 가져왔습니다: 위키노트(http://wiki.mooo.org/)에서 가져옴)
 
잔글 (Utolee90님이 위키노트:리눅스에서 SSD 성능 최적화 문서를 넘겨주기를 만들지 않고 작은숲:위키노트/리눅스에서 SSD 성능 최적화 문서로 이동했습니다: 위키노트 문서 작은숲으로 이동)
 
(같은 사용자의 중간 판 8개는 보이지 않습니다)
1번째 줄: 1번째 줄:
이 문서는 [[위키노트:리눅스|리눅스]]에서 [[SSD]]의 성능을 최대한 끌어 올리기 위한 설정에 대한 글이다.
이 문서는 [[작은숲:위키노트/리눅스|리눅스]]에서 [[SSD]]의 성능을 최대한 끌어 올리기 위한 설정에 대한 글이다.
우선 커널 버전과 파일 시스템 확인한다. 보통 <tt>ext4</tt> 파일 시스템 사용한다.
우선 커널 버전과 파일 시스템 확인한다. 보통 <tt>ext4</tt> 파일 시스템 사용한다.
<source lang="console">
<syntaxhighlight lang="console">
# uname -a
# 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
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
7번째 줄: 7번째 줄:
...
...
UUID=9808c92b-3995-4491-b7bb-fd5c575d422a /                      ext4    defaults        1 1
UUID=9808c92b-3995-4491-b7bb-fd5c575d422a /                      ext4    defaults        1 1
</source>
</syntaxhighlight>
TRIM 기능 활성화 되어 있는지 확인한다.
TRIM 기능 활성화 되어 있는지 확인한다.
<source lang="console">
<syntaxhighlight lang="console">
# hdparm -I /dev/sda
# hdparm -I /dev/sda
...
...
     * Data Set Management TRIM supported
     * Data Set Management TRIM supported
...
...
</source>
</syntaxhighlight>
파일 시스템 마운트 옵션을 설정한다.
파일 시스템 마운트 옵션을 설정한다.
<source lang="console">
<syntaxhighlight lang="console">
# mount
# mount
/dev/sda3 on / type ext4 (rw)
/dev/sda3 on / type ext4 (rw)
41번째 줄: 41번째 줄:
/dev/sda1 on /boot type ext4 (rw,discard)
/dev/sda1 on /boot type ext4 (rw,discard)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
</source>
</syntaxhighlight>
가급적 스왑의 사용을 줄인다. 메모리만 충분하다면 스왑은 쓰지 않을 수록 좋다. [[위키노트:CentOS|CentOS]]의 기본값은 <tt>60</tt>.
가급적 스왑의 사용을 줄인다. 메모리만 충분하다면 스왑은 쓰지 않을 수록 좋다. [[작은숲:위키노트/CentOS|CentOS]]의 기본값은 <tt>60</tt>.
<source lang="console">
<syntaxhighlight lang="console">
# cat /proc/sys/vm/swappiness
# cat /proc/sys/vm/swappiness
60
60
# echo 1 > /proc/sys/vm/swappiness
# echo 1 > /proc/sys/vm/swappiness
</source>
</syntaxhighlight>
부팅할 때마다 적용될 수 있도록 <code><nowiki>/etc/rc.local</nowiki></code> 파일에 <tt>swappiness</tt> 설정을 추가한다.
부팅할 때마다 적용될 수 있도록 <code><nowiki>/etc/rc.local</nowiki></code> 파일에 <tt>swappiness</tt> 설정을 추가한다.
<source lang="console">
<syntaxhighlight lang="console">
# vi /etc/rc.local
# vi /etc/rc.local
...
...
echo 1 > /proc/sys/vm/swappiness
echo 1 > /proc/sys/vm/swappiness
</source>
</syntaxhighlight>
디스크 스케쥴러를 확인한다. [[SSD]]에는 <tt>noop</tt> 스케쥴러를 쓰는 것이 좋다.
디스크 스케쥴러를 확인한다. [[SSD]]에는 <tt>noop</tt> 스케쥴러를 쓰는 것이 좋다.
<source lang="console">
<syntaxhighlight lang="console">
# cat /sys/block/sda/queue/scheduler
# cat /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq]
noop anticipatory deadline [cfq]
61번째 줄: 61번째 줄:
# cat /sys/block/sda/queue/scheduler
# cat /sys/block/sda/queue/scheduler
[noop] anticipatory deadline cfq
[noop] anticipatory deadline cfq
</source>
</syntaxhighlight>
== 참고 자료 ==
== 참고 자료 ==
* [http://netmaid.tistory.com/64 CentOS 6.4 에서 SSD 환경설정]
* [http://netmaid.tistory.com/64 CentOS 6.4 에서 SSD 환경설정]
70번째 줄: 70번째 줄:
* [http://d2.naver.com/helloworld/7005 SSD를 쓰면 DBMS가 빨라질까?]
* [http://d2.naver.com/helloworld/7005 SSD를 쓰면 DBMS가 빨라질까?]
{{리눅스}}
{{리눅스}}
[[분류:공유]]
[[분류:위키노트/공유]]
[[분류:리눅스]]
[[분류:리눅스]]
[[분류:하드웨어 설정]]
[[분류:하드웨어 설정]]
[[분류:소프트웨어 설정]][[분류:위키노트에서 가져온 문서]]
[[분류:위키노트/소프트웨어 설정]]{{퍼온문서|위키노트|{{#invoke:string|replace|{{PAGENAME}}|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]]

2022년 5월 7일 (토) 19:21 기준 최신판

이 문서는 리눅스에서 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

참고 자료

이 작은숲 문서의 출처는 위키노트의 위키노트/리눅스에서 SSD 성능 최적화 문서입니다.