N900の最適化と加速

おそらく、N900を積極的に使用するすべての人は、ネットワークを介して高速で大きなファイルをコピーするときにシステムの速度が低下し始めるか、1週間のアクティブな使用の後、システムの一般的な速度低下が顕著になり、top / htopで犯人を特定できなかった状況に直面しました再起動して保存します。 これは確かに問題ではありませんが、実際には非常に不快です-Linuxのやり方ではありません。



しかし、判明したように、これは解決可能です。 N8xxの時代から人々は、モバイルデバイスでそのようなものを取り除くことができるさまざまなLinuxカーネル設定を積極的に実験してきましたが、これらの設定は経験的に導き出されてテストされており、システムの動作に非常に良い影響を与えます。 Transmissionトレントクライアントが喜びで窒息し、ファイルをフルスピードで受け入れ、システムがスムーズに動作し続け、30のブラウザーウィンドウが開いている場合でも、2つの(同様に)以下に説明するシステム最適化の方法まで観察できませんでした。 ここまでがポイントです。



読んで理解するのが面倒な人-リポジトリからSwappolubeプログラムを(文字通り)入れて(現在はエクストラテスト中 )、人生を始めて楽しんでください。 怠け者ではない人-同じことをして、読み続けてください。 :)







このプログラムは、カーネルパラメータを変更するためのGUIであり、永続的なストレージの可能性があります。 非GUIバージョン-swappolube-noguiもあります。 このプログラムはシステムファイルを変更せず、何も上書きしません-必要なパラメーターを/ procを介してカーネルに転送し、必要に応じて、起動時にこれらの設定を適用するファイルを/etc/event.dに作成します。 いつでも、GUIを介して、またはこのファイルを強制終了してシステムを再起動することにより、変更をロールバックできますが、これは必要とは考えられません。あまりにも多くのN900ユーザーがすでにインストールしており、フォーラムでスムーズ、スピードアップ、華麗という言葉でレビューを書くことに飽きていません。



これらのパラメーターは何ですか:

echo "30" > /proc/sys/vm/swappiness

echo "0" > /proc/sys/vm/page-cluster

echo "1" > /proc/sys/vm/laptop_mode

echo "1" > /proc/sys/vm/oom_kill_allocating_task

echo "0" > /proc/sys/vm/dirty_expire_centisecs

echo "0" > /proc/sys/vm/dirty_writeback_centisecs

echo "60" > /proc/sys/vm/dirty_background_ratio

echo "95" > /proc/sys/vm/dirty_ratio

echo "0" > /proc/sys/net/ipv4/tcp_timestamps

echo "1" > /proc/sys/net/ipv4/tcp_no_metrics_save








最初のswappinessはMaemoでデフォルトで100に設定されています-これは、システムができるだけ頻繁にメモリをスワップにフラッシュしようとすることを意味します。 ここで30に変更します(パーセンテージです)。これにより、ディスクアクセスの数(より正確には、スワップが配置されているeMMCフラッシュドライブ)を減らすことができます。 おそらくこれが最適なソリューションとはならないシナリオもありますが、ほとんどの場合、これはN900を積極的に使用したときに目立った減速をもたらしたものです。



次に、 ページクラスター -このオプションは、一度にスワップに書き込まれるメモリーのページ数を制御します。 値「0」は1ページ、「1」-2ページ、2-4ページなどを意味します。 指数関数的に。 デフォルトでは、Maemoは「5」(32ページ)に設定されています。 デスクトップシステムではこの値を大きくする方が良いかもしれませんが、モバイルデバイスでは、このような記録サイクルの1つで既に応答速度が大幅に低下し、swappines = 100ですべての美しさが現れます。 「1」を設定します-スワップに長く書かれますが、ユーザーには見えないように、UIの応答性に影響を与えません。



3番目のパラメーターlaptop_mode- 「0」に設定されていない場合、ディスクへの遅延書き込みをアクティブにします。 さらに、ディスクアクセスを可能な限り効率的に使用するために、システムのいわゆる「アクティビティの期間」を分離しようとして、非常に巧妙にアクティブになります。 大まかに言って-ディスクへのフラッシュを待機しているメモリページがある場合(スワップまたは「ダーティ」-ディスクバッファがまだ同期されていない)、ディスクにアクセスするまで書き込み操作を開始しないでください-これにより、書き込み操作を「グループ化」できますディスクへのアクセス、ディスクアクセスの回数の削減、フラッシュメモリの寿命の延長、消費電力の削減(私が知る限り、事実はわかりません)。

さらに4つがこのパラメーターに密接にリンクされています。

dirty_expire_centisecsdirty_writeback_centisecsダーティバッファの遅延フラッシュ用の個別のパラメータです。 laptop_modeを0に設定すると、laptop_modeが先送りを処理します(デフォルトでは500センチ秒に設定されます)

dirty_background_ratiodirty_ratio-ダーティバッファの格納に割り当てることができるメモリの最小量と最大量(合計メモリの割合として)。 これらの設定は私にとってはやや暗い場所ですが、maemoコミュニティへの言葉を信じています。 デフォルトでは、10と40に設定されますが、60と95に設定します。



さらに、 oom_kill_allocating_task- 「プロセスキラー」 -OOMキラーの動作を変更します。 通常、十分なメモリがない場合(ただし、N900には何もありませんでした)、バックグラウンドでメモリを消費しているプロセスを強制終了します。これは基本的には任意のプロセスです。 このオプションにより、現在メモリを取得しようとしているプロセスを正確に強制終了し、メモリ不足エラーを取得します。 理にかなっているように聞こえますが、明らかに、システムの全体的なパフォーマンスには実際には影響せず、重大な条件にのみ影響します。



最後の2つのオプションは、TCP / IPスタックに関連しています。

tcp_timestamps -TCPパケットへのタイムスタンプの追加を無効にできます。 プロセッサとスペースの両方を節約するため、ある意味で1つのパッケージに収まります。 本当に役立つのか分かりません セキュリティには影響しないようです。

tcp_no_metrics_save-最近の接続をキャッシュしないようにスタックに指示します。 2G / 3Gネットワ​​ークに役立つ場合があります。



要するに、このようなものです。

一般に、要約は次のとおりです。以前は、アニメーションの速度とUIの反応によってシステム負荷の程度を冷静に判断することが可能でしたが、システムはほとんどすべての負荷の下で等しくスムーズに動作します。



All Articles