事象の水平線

横を無理やり伸ばしたので、デザインがおかしいけど、気にしない。完璧に時代に取り残されたHTMLをいまさらいじるのがめんどくさい。個人的ブックマーク代わりなメモ書きブログ。

SSDを使う上で個人的に一番気になるのは、寿命です。
書込み回数に上限が存在するらしく、まぁ、まだ本格的に製品が登場してから日が浅いので実際のところは分かりませんけど、長く使えるなら長く使いたいもんです。
スピードも気にはなりますが、どうせ使うのは数世代前のCore2Duoマシン。
ICH7なのでSATA2でAHCIにも対応してません。
CSSD-S6M64NMQは6Gbpsらしいけど、どうせそこまでのスピードは引き出せません。

ということで、SSDにUbuntuをいれてやることをまとめておきます。

参考にしたのは
『おいぬま日報』さんの『Ubuntu LinuxでSSDの寿命を延ばすための設定
『Winux/Lindows』さんの『UbuntuでRamdisk tmpfs再び(on Ubuntu10.10)
『覚え書きその他』さんの『Ubuntu 11.04でIntel SSD 510シリーズを使う [Linux]
『SH2の日記』さんの『SSDに対するBlock Discard/TRIMをSystemTapで可視化する

その1
linux@Ubuntu-DT:~$ sudo vi /etc/sysctl.conf
[sudo] password for linux:
#
# /etc/sysctl.conf - Configuration file for setting system variables
# See /etc/sysctl.d/ for additional system variables
# See sysctl.conf (5) for information.
#

#kernel.domainname = example.com

# Uncomment the following to stop low-level messages on console
#kernel.printk = 3 4 1 3

##############################################################3
# Functions previously found in netbase
#

# Uncomment the next two lines to enable Spoof protection (reverse-path filter)
# Turn on Source Address Verification in all interfaces to
# prevent some spoofing attacks
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1

# Uncomment the next line to enable TCP/IP SYN cookies
# See http://lwn.net/Articles/277146/
# Note: This may impact IPv6 TCP sessions too
#net.ipv4.tcp_syncookies=1

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv6
# Enabling this option disables Stateless Address Autoconfiguration
# based on Router Advertisements for this host
#net.ipv6.conf.all.forwarding=1


###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0
#
# Do not accept IP source route packets (we are not a router)
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#
vm.swappiness = 0
vm.dirty_writeback_centisecs = 1500


上段はswap領域をSSD内に作らない設定(Ubuntuインストール時にswapを作らなかったけど。一応。)
下段はOSキャッシュの書き込みの頻度調整(書込み処理は一度キャッシュされデフォルトだと5秒間隔で書き込むらしいです。それを15秒間隔にします。)

その2
linux@Ubuntu-DT:~$ sudo mv /etc/cron.daily/mlocate /etc/cron.weekly/mlocate

/etc/cron.daily/mlocateというのがファイル検索のためのデータベースを作るらしいので、それを/etc/cron.weeklyに移動して、データベース作成を毎日から毎週にします。

その3
linux@Ubuntu-DT:~$ sudo mkdir /mnt/RamDisk
linux@Ubuntu-DT:~$ sudo vi /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#RamDisk wo mount
mount -t tmpfs -o size=1600m /dev/shm /mnt/RamDisk


exit 0


起動時に/mntにRamDiskフォルダを作りそこにラムディスク(tmpfs)をマウント(1600MB)
/dev/shmってのが本来のラムディスクのマウントポジションらしい

再起動して確認
linux@Ubuntu-DT:~$ df  ←ドライブの使用量とかを見る
Filesystem      1K-ブロック  使用  使用可 使用% マウント位置
/dev/sda1       38523368 10046272 26520184 28% /
none         1670004    648  1669356  1% /dev
none         1676628    324  1676304  1% /dev/shm
none         1676628    236  1676392  1% /var/run
none         1676628     8  1676620  1% /var/lock
/dev/shm        1638400   15468  1622932  1% /mnt/RamDisk

noneとなってるのはラムディスク(tmpfs)らしい。他にデバイスつないでないしね・・

linux@Ubuntu-DT:~$ sudo vi /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
#         
proc      /proc      proc  nodev,noexec,nosuid 0    0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
tmpfs /var/run tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0

# / was on /dev/sda1 during installation
UUID=0df4e598-730d-417d-b03b-44fc5b855831 /    ext4  discard,errors=remount-ro 0   1

tmpfsなのにnoneになってるドライブの表記をtmpfsにする(tmpfsとしてマウントしなおす)のと、/tmpをラムディスクにしてしまう。
/tmpはただの一時フォルダ
それと、SSDがTrim対応なので、trimオプションであるdiscardをつける。

再起動して確認

linux@Ubuntu-DT:~$ df
Filesystem      1K-ブロック  使用  使用可 使用% マウント位置
/dev/sda1       38523368 10046272 26520184 28% /
tmpfs         1670004    648  1669356  1% /dev
tmpfs         1676628    324  1676304  1% /dev/shm
tmpfs         1676628    56  1676572  1% /tmp
tmpfs         1676628    236  1676392  1% /var/run
tmpfs         1676628     8  1676620  1% /var/lock
/dev/shm        1638400   15468  1622932  1% /mnt/RamDisk


『Winux/Lindows』さんの『UbuntuでRamdisk tmpfs再び(on Ubuntu10.10)』にも書いてあったけど、『おいぬま日報』さんの『Ubuntu LinuxでSSDの寿命を延ばすための設定』に出てくる
/etc/fstab
tmpfs /tmp tmpfs defaults,size=512m 0 0を書き加えるのは、起動しませんでした。多分なんか変わったんでしょう・・・

その3.5
ついでに、Firefoxのキャッシュを先ほどのRamDiskにします。
FirefoxのURL欄にabout:config (お決まりのやつです。)
browser.cache.disk.parent_directory を探して(なかったらテキトーに画面の中で右クリック>新規作成>文字列)で、値に/mnt/RamDisk/FireFoxCacheとしました。
FireFoxCacheフォルダはなければ勝手に作られます。


ちなみに、ラムディスクがほんとに働いてるのか、最初は不安ですが、そのディレクトリをGUIでみにいくと下に1.6GB空きとか書いてあるので、HDD(SSD)とは明らかに空き容量が違うので何となく確認できます。
このへんはWinとかMacのディレクトリ管理になれてると最初は何だか戸惑います。

それから、『おいぬま日報』さんの『Ubuntu LinuxでSSDの寿命を延ばすための設定』に出てくるnoatimeオプションはやめました。

何故かというと、こちら
『科学と非科学の迷宮』さんの『[Linux]最新のFedoraとUbuntuではrelatimeもnoatimeもいらない?』に、いらないらしいとあるので、やめました。


<<追記 1>>
効果及び実際に効いてるかは不明ですが、試して問題なかったので、trim関係の記述を追加しました。

<<追記 2>>
ラムディスクに関してあまり深く考えずに、参考にしたHPを適当に組み合わせてやっていたので、/tmpフォルダをラムディスクにし、rc.localでもラムディスクを作るという混乱したことをしていたので、rc.localでtmpfs(ラムディスク)をマウントするのは止めて、/tmpフォルダをラムディスクとしてFireFoxのキャッシュを充てました。
また、.WINEをつかいフォトショップの仮想ディスクの設定の問題はtmpfsではなく、ramfsをつかい、/home/RamDiskにラムディスクを作るとそれをConfigureWineでドライブレターをあげると、フォトショの方に出てきました。
が、容量が足りないと起動の際に怒られます。怒られますがそのまま使えるのですが、実際どうなってるのか微妙なところ。
あと、なぜか/mntではフォトショの仮想記憶の設定にはドライブレターが出てこず、/homeでないとダメな模様。
というわけで半歩前身。
解決したら新しいエントリーとしてまとめます。
スポンサーサイト



PageTop

コメント

 ※
 ※
管理者にだけ表示を許可する
  ※ 必須項目です