serverperfmode = 1がmacOSで実際に何をするのですか?


18

オンにする方法について説明します ここに 詳細はありません。

あいまいな説明があります。

パフォーマンスモードは、お使いのMacのシステムパラメータを変更します。これら   ハードウェアを要求の厳しいサ​​ーバーに利用するための変更   アプリケーション

システム/カーネル内で実際に何が変化していますか?

回答:


10

サーバーパフォーマンスモードをオンにすると、可能な/許可されたプロセスと接続の最大数に関連するカーネル/ネットパラメータが増加し、メモリ/タイマー設定が変更されます。

...
kern.maxvnodes: 66560 > 300000
kern.maxproc: 1064 > 5000
...
kern.maxfilesperproc: 10240 > 150000
kern.maxprocperuid: 709 > 3750
kern.ipc.maxsockbuf: 4194304 > 8388608
...
kern.ipc.somaxconn: 128 > 1024
...
kern.ipc.nmbclusters: 32768 > 65536
...
kern.ipc.sbmb_cnt_peak: 1120 > 1170
...
kern.ipc.njcl: 10920 > 21840
...
kern.timer.longterm.qlen: 100 > 0
kern.timer.longterm.threshold: 1000 > 0
...
net.inet.ip.maxfragpackets: 1024 > 2048
...
net.inet.tcp.tcbhashsize: 4096 > 8192
...
net.inet.tcp.fastopen_backlog: 10 > 200
...
net.inet6.ip6.maxfragpackets: 1024 > 2048
...
net.inet6.ip6.maxfrags: 2048 > 4096
#and some very special vm page-outs/compressor and and memory/cache settings

目標は、より多くのオープンファイル(特にWebサーバーに必要)と同時により多くのクライアントにサービスを提供し、単一サーバースレッドをメモリ/仮想メモリからより早く破棄することです(特定の変更を正しく解釈した場合)。


これまでAppleは別のOSをリリースしていましたが、今やサーバはコンシューマOSの上にロードされているため、基本的なチューニングによってオペレーティングシステムが25人のユーザのプロセスを実行することができます。これらのチューニングは、ほんの出発点にすぎません - 高負荷のもとでサーバーを実行したい場合は、パフォーマンスモードをオンまたはオフにするよりもはるかに詳細なレベルでものをカスタマイズして監視する必要があります。

また、これらの制限は、プロセス間通信シグナリングチャネル(ipc)のような限られたリソースを使い果たして、悪いソフトウェアがサーバーをダウンさせるのを防ぐためのものです。 1人のユーザーが実行しているシステムでは、何十人ものユーザーに対して実行されているプロセスが多数ある場合よりも早く、暴走プロセスを停止することをお勧めします。 「パフォーマンス」は、「1つのファイルまたは1つのWebページをより早く提供する」のとは対照的に、いくつかの厳しい制限を引き上げると見なすことができます。


によって報告された1100以上の特定の項目があるので sysctl -a これは、サーバのチューニングやカーネルパラメータの変更に慣れていない場合に最初に注意する必要があることの非常に良い要約です。他の人を助ける場合に備えて、答えに「意見」を追加します。表明された意見があなたの意見ではない場合は、私の編集を元に戻してください。
bmike

これはMacBook Proでも機能しますか?
JedatKinports

1
@JedatKinportsこれはMacBookでも使えます、はい
klanomath

そして、これらの "#とても特別な"設定は何ですか?さらに:sysctl以外のいくつかの設定も変更されていると思います。権限が厳しくなりました。他の「もの」は、古いバージョンのスタンドアロンOS X Serverと同じように異なりますか?
LangLangC
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.