初心者も簡単ブログにコピペだけ!1クリック高単価7〜42円。登録無料最短1分でスタート。

Mac OSXのカーネルパラメーターを変更して高速化する方法。

Mac OSXのカーネルパラメーターを変更して高速化。

今回はMAC OSXのカーネルの設定を変更する方法をご紹介します。筆者の環境はMacBook Pro retinaのEL_CAPITAN OSX10.11.3で試しました。

注意:ターミナルからの操作に不慣れな方は見るだけにしておきましょう。

今回はカーネルパラメーターについてですが、Linuxでおなじみのコマンドsysctlを使ってカーネルパラメーターを確認してみましょう。

sysctl -a

実行後に各種設定パラメータが表示されます。

machdepの文字列に続いてcpu、xcpmなどなどたくさんの項目が表示されたと思います。el_capitanではvm.compressor_xxxxxという項目があります。これは新しく実装されたメモリ圧縮の機能ですが、デフォルトではmode4になっています。

これからこの各項目のパラメータを変更しますが、ターミナルから、変更を実行すると一時的に設定が有効になりますが、Macを再起動するとものと設定に戻ってしまします。

まず設定を始める前に下記コマンド初期設定のMacのカーネルパラメータのバックアップを取っておきましょう。

sysctl -a >kernelParamDef.txt

これらの設定を恒久的に維持するには

sudo touch /etc/sysctl.conf
sudo chown root:wheel /etc/sysctl.conf
sudo chmod 0644 /etc/sysctl.conf

として再起動後でも新しく作った設定ファイルが読み込まれるようにします。

Macのカーネルパラメーターの記述例

xxxx.xxxx.xxxx.xxxx=n

xxxxは設定する項目名=n(設定する数値です)
sysctl -aでパラメーターを確認して設定をしていきます。

それでは、実際にMacを高速化する例を紹介します。まずはメモリ管理の設定を変更してみたいと思います。

メモリ圧縮機能を無効にしてMacを高速化する

 

注意:この方法は10.9以前のOSでは有効ですが、それ以降のOSで実行するとカーネルパニックを起こします。

万が一、実行してカーネルパニックが起こった場合はシャットダウンして、電源ボタンを押してからすぐにoption+Commnad+P+Rキーを押して起動音がなったら手を離します。

これによりリセットされてデフォルト値に戻すことができます。

(/etc/sysctl.conf)の設定は読み込まれます。

CompressMemoryは新しいMAC  OSXから実装された機能ですが、メモリ8Gや16G積んでいる場合、この機能のせいで無駄にCPUリソースを消費することがあります。もともとはメモリリソースを有効に使えるようにメモリに展開したものを圧縮してより多くのメモリ空間を確保するものです。

当然これらの処理を行う場合メモリに展開したデータを圧縮処理する処理が定期的に入りますのでメモリを多めに積んでいる環境では必要ない場合もあります。
1が無効、4が通常の初期設定です。
今回は無効にしたいので1に設定します。

sudo nvram boot-args="vm_compressor=1"

 

MACのネットを高速化する設定。ack待機と送受信空間値

設定項目はnet.inet.tcp.delayed_ackです。
ack初期値 3
sendrecv初期値 131072
待機時間を少なくしてさらに送信受信ともに標準の値より多く設定します。

net.inet.tcp.delayed_ack=2
net.inet.tcp.sendspace=524288
net.inet.tcp.recvspace=524288

初心者も簡単ブログにコピペだけ!1クリック高単価7〜42円。登録無料最短1分でスタート。