Следует, однако, трезво смотреть на вещи и не придавать особого значения стращаниям гоблинов о том, как это непрактично работать на SSD, у которых, мол, ограниченный срок жизни. Даже при максимальной нагрузке (максимальной в реальной жизни, а не на стенде, единственное назначение которого - износить и убить диск как можно более скорее) современного SSD хватить на 5-6 лет непрерывной работы. А посему опасаться нечего: через такой срок сменятся не то, что несколько технологических поколений (а потому вам вряд ли захочется продолжать пользоваться своим старым железом), но и цены на твердотельные диски упадут до сегодняшних HDD.
Алгоритм привожу, естественно, для MAC OS X, однако это ничего не меняет в принципе: на Windows нужно будет проделывать точно такие же процедуры, только другими средствами. Какими - не составит труда самостоятельно нагуглить, зная заранее, что, собственно, нужно настраивать. Итак:
1. Для правильной работы твердотельного накопителя ОС должна посылать ему т.н. команду TRIM, которая уведомляет SSD о том, какие блоки данных больше не используются и готовы для записи). В Mac OS X команда TRIM посылается только дискам, поставляемым самим Надкусаном (кто бы сомневался в подобном свинстве!), для остальных SSD она отключена. Поэтому первым делом мы ее включаем с помощью сторонней утилиты - Trim Enabler.
2. Отключаем локальным снимки состояния системы, которые делает Time Machine. Делается это через командную строку в Терминале:
sudo tmutil disablelocal
На всякий случай - включаются локальные снимки обратно командой:
sudo tmutil enablelocal
3. Обязательно отключаем гибернацию (которая на SSD ни к чему, потому что система и без нее загружается исключительно быстро). Команда:
sudo pmset -a hibernatemode 0
Затем стираем своп:
sudo rm /var/vm/sleepimage
4. Устанавливаем флаг noatime. Всякий раз, когда мы обращаемся к файлу, система делает запись на диск с указанием времени доступа, что, как вы понимаете, не лучшее занятие для SSD. Для отключения этих записей, создаем файл com.nullvision.noatime.plist (название можете придумать любое) и сохраняем его в /Library/LaunchDaemons. Содержание файла следующее:
« http://www.apple.com/DTDs/PropertyList-1.0.dtd»>
Label
com.nullvision.noatime
ProgramArguments
mount
-vuwo
noatime
/
RunAtLoad
Теперь запускаете файл из командной строки в Терминале:
sudo chown root:wheel /Library/LaunchDaemons/com.nullvision.noatime.plist
Перегружаете компьютер и проверяете, что все сработало:
mount | grep « / «
В ответ должно получиться следующее:
/dev/disk0s2 on / (hfs, local, journaled, noatime)
5. Если у вас много памяти (8 Гб и больше), то полезно подключить RAM диск для хранения временных файлов ОС. Создаете файл под названием MoveTempFoldersToRamDisk.sh и наполняете его следующим содержанием:
#!/bin/bash
# +----------------------------------------------------------------------+
# | |
# | Set up Mac OS X to store temporary files in RAM rather than on disk.|
# | |
# | By Philipp Klaus < http://blog.philippklaus.de > |
# | |
# | Originally by Ricardo Gameiro < http://blogs.nullvision.com/?p=357 > |
# | Changes by Daniel Jenkins |
# | < http://blogs.nullvision.com/?p=357#comment-1140 > |
# | |
# +----------------------------------------------------------------------+
cd /System/Library/StartupItems
sudo mkdir RamFS
sudo chown -R root:wheel RamFS
sudo chmod -R u+rwX,g+rX,o+rX RamFS
cat << «EOF» | sudo tee RamFS/RamFS > /dev/null
#!/bin/sh
# Create a RAM disk with same perms as mountpoint
RAMDisk () {
mntpt =$1
rdsize =$(($2 *1024 *1024 /512 ))
echo «Creating RamFS for $mntpt»
# Create the RAM disk.
dev =`hdik -drivekey system-image =yes -nomount ram://$rdsize`
# Successfull creation...
if [$? -eq 0 ]; then
# Create HFS on the RAM volume.
newfs_hfs $dev
# Store permissions from old mount point.
eval `/usr/bin/stat -s $mntpt`
# Mount the RAM disk to the target mount point.
mount -t hfs -o union -o nobrowse $dev $mntpt
# Restore permissions like they were on old volume.
chown $st_uid:$st_gid $mntpt
chmod $st_mode $mntpt
fi
}
# Test for arguments.
if [-z $1 ]; then
echo «Usage: $0 [start|stop|restart] «
exit 1
fi
# Source the common setup functions for startup scripts
test -r /etc/rc.common ||exit 1
. /etc/rc.common
StartService () {
ConsoleMessage «Starting RamFS disks...»
RAMDisk /private/tmp 256
RAMDisk /var/run 64
#RAMDisk /var/db 1024
#mkdir -m 1777 /var/db/mds
}
StopService () {
ConsoleMessage «Stopping RamFS disks, nothing will be done here...»
# diskutil unmount /private/tmp /private/var/run
# diskutil unmount /private/var/run
}
RestartService () {
ConsoleMessage «Restarting RamFS disks, nothing will be done here...»
}
RunService «$1»
EOF
sudo chmod u+x,g+x,o+x RamFS/RamFS
cat << EOF | sudo tee RamFS/StartupParameters.plist > /dev/null
file://localhost/System/Library/DTDs/PropertyList.dtd»>
Читать дальше