システムパフォーマンスを大幅に向上させることができる新しい4行パッチ

長い話を手短に言うと、数日前 カーネル開発者の一人がパッチをアップロードしました これにより、特に重いタスク (カーネルのコンパイルなど) の実行中にマルチタスクを処理する場合に、システムのパフォーマンスが大幅に (ほぼ 200 倍) 向上しました。 Linus は、この開発者の素晴らしい意見を称賛しました。 しかし、Red Hat の開発者は、 Lennar Poettering は、この改善をカーネルから直接実装することに同意しませんでした。 ユーザー空間で変更を加えたほうが彼にとっては良いことだった (~/.bashrc)。 ライナスは怒り、この開発者を叱責し、結果がすべてを物語っていると言いました。 レナーは厳しい言葉で答える代わりに、座って工夫した。 代替案 (カーネルにパッチを適用する必要がない) は 4 行しか占有しません。 つまり、彼らはライナスの口を閉ざしたのです... 

注: この方法には、Linux カーネル タスク グループ (cgroup) のサポートが必要です。つまり、2.6.36 以降のカーネルを使用するユーザーのみがこの方法を適用できます。

Fedora でパッチを適用する方法

1.- ~/.bashrc ファイルを編集します。

gedit〜 / .bashrc

2.- ファイルの最後に次のコードを貼り付けます。

if [ "$PS1" ] ; それから
mkdir -m 0700 /sys/fs/cgroup/cpu/user/$$
エコー $$ > /sys/fs/cgroup/cpu/user/$$/tasks
fi

3.- 次のコマンドを実行します。

mount -t cgroup cgroup /sys/fs/cgroup/cpu -o cpu
mkdir -m 0777 /sys/fs/cgroup/cpu/user

Ubuntuでパッチを適用する方法

Ubuntu では状況はもう少し複雑です...

1.- ファイルを編集する rc.ローカル このコマンドで:

sudo gedit /etc/rc.local

「exit 0」と書かれている場所の前に次のコードを貼り付けます。

mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

2.- ファイルを保存し、実行権限を与えます。

sudo chmod +x /etc/rc.local

3.- ファイルを編集する 〜/ .bashrc:

gedit〜 / .bashrc

4.- ファイルの最後に次のコードを貼り付けます。

if [ "$PS1" ] ;
次に、mkdir -m 0700 /dev/cgroup/cpu/user/$$
echo $$ > /dev/cgroup/cpu/user/$$/tasks
echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release
fi

5.- cgroup_clean ファイルを変更します。

sudo gedit /usr/local/sbin/cgroup_clean

6.- ファイルの最後に次のコードを貼り付けます。

#!/ bin / shを
if [ "$*" != "/user" ]; それから
rmdir /dev/cgroup/cpu/$*
fi

7.- ファイルを保存し、実行権限を与えます。

sudo chmod +x /usr/local/sbin/cgroup_clean

8.- システムを再起動します。

注: /dev/cgroup/ フォルダーを見ると、マルチタスク管理が大幅に改善されていることがわかります。

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   タルスカース

    Arch の説明書を見つけました。ここにあります。 http://pastebin.com/raw.php?i=sHRYRuAN

    私の場合、パッチを適用しましたが、全体的にはあまり改善されませんでしたが、Web ページをスクロールするときに大きな変化に気づいた場合は、初めて本当にスムーズになっています。 =)

  2.   Linuxを使いましょう

    素晴らしい! シェアしていただきありがとうございました!
    Arch を使ってブログを書いてくれる方を募集しているって言いましたよね? ご興味がございましたら、こちらまでお書きください linux@gmail.comを使いましょう
    大きな抱擁! ポール。

  3.   タルスカース

    ご招待いただきありがとうございます。その後はメールで続けさせていただきます 😉

  4.   タルスカース

    ひょっとしてArchlinuxの説明書はないんですよね? 🙂

  5.   Linuxを使いましょう

    見つかりませんでした。 しかし、それは確かに Fedora に似ていると私には言います。 一方で、Arch は誰もが自分の好きなように構築するため、おそらくそれが従う手順に影響を与える可能性があることを考慮する必要があります...

  6.   タルスカース

    ここでは、Archlinux でそれらを適用する方法を見つけました。これは Fedora と非常によく似ています。 http://pastebin.com/raw.php?i=sHRYRuAN

  7.   ミケル・マイヨールi Tur

    bash: /dev/cgroup/cpu/user/$/tasks: そのようなファイルまたはディレクトリはありません

    これらの指示に従っても、ターミナル AMD64 x を開くとこのエラーが表示され続けます。それがそれに関係している場合

  8.   ミケル・マイヨールi Tur

    もう見つけました、パブロさん修正してください http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html

    あなたが何を置くかではなく、ubuntuでしなければならないことは次のとおりです。

    sudo gedit /usr/local/sbin/cgroup_clean

    そしてこれを入れてください:

    #!/ bin / shを
    if [ "$*" != "/user" ]; それから
    rmdir /dev/cgroup/cpu/$*
    fi

  9.   Linuxを使いましょう

    準備ができて! 修正しました! ありがとう!

  10.   Linuxを使いましょう

    それは本当です! 思い出させてくれてありがとう!
    投稿の冒頭にその説明を追加しただけです。
    ハグ! ポール。

  11.   ダシネックス

    具体的には、ユーザーとしてどのようなメリットが得られるか、システムでどのようなパフォーマンスの向上が見られるかについて説明します。

  12.   Linuxを使いましょう

    すべてがはるかに速く進みます。 ただし、XNUMX つの重いタスクを実行しているときに他のタスクも同時に実行したい場合、その違いは実際に「わかります」。 たとえば、複数のプログラムのインストールを実行しているとき、カーネルをコンパイルしているとき、または重いビデオを編集しているときに、同時にインターネットサーフィンや映画の視聴などをしたいとします。

  13.   Linuxを使いましょう

    Arch にパッチを実装する方法がわかったら、Fedora で動作するパッチを実行してみますので、お知らせください。
    抱擁! ポール。

  14.   Linuxを使いましょう

    パソコンの使い方にもよると思います。 インターネットと軽量のテキスト エディタをほとんど使用しない場合は、違いを「感じる」ことはできないでしょう。 一方、あなたが私と同じように、インターネットの閲覧や映画の視聴中に重いタスク (ビデオの変換、カーネルのコンパイルなど) を実行する場合、その違いは顕著です。

  15.   ドミンゴプ

    すべての手順が完了したら、ターミナルを開くと、常に次のメッセージが表示されます。
    mkdir: ディレクトリ "/dev/cgroup/cpu/user/1844" を作成できません: そのようなファイルまたはディレクトリはありません
    bash: /dev/cgroup/cpu/user/1844/tasks: そのようなファイルまたはディレクトリはありません
    bash: /dev/cgroup/cpu/user/1844/notify_on_release: そのようなファイルまたはディレクトリはありません
    domingopv @ pc1:〜$
    ターミナルでもすべて正常に動作しますが、何か間違ったことをしましたか?

  16.   Linuxを使いましょう

    うーん...それが何なのか本当にわかりません。 ただし、特に 5 以降の手順が正しく実行されていない可能性が非常に高いように思えます。 繰り返してみるか、正しく理解できているか確認してください。 今のところ思いつくのはこれだけです。
    大きな抱擁! ポール。

  17.   ドミンゴプ

    maverick を再インストールし、パッチを再インストールしたところ、次のような結果が得られました。
    mkdir: ディレクトリ "/dev/cgroup/cpu/user/1678" を作成できません: そのようなファイルまたはディレクトリはありません
    bash: /dev/cgroup/cpu/user/1678/tasks: そのようなファイルまたはディレクトリはありません
    bash: /dev/cgroup/cpu/user/1678/notify_on_release: そのようなファイルまたはディレクトリはありません
    domingopv @ pc1:〜$

  18.   Linuxを使いましょう

    おっと...実のところ、それが何であるかはわかりません。 私にとっては完璧でした。
    cgroup のクリーンアップが正しく行われていないことがわかります。 だからこそ、ステップ 5 から見てくださいと主張しました。
    乾杯! ポール。

  19.   言いません

    すごいですね、パッシブ nvidia 1080 で 8400p のフラッシュ ビデオを見ることができます。つまり、悪い悪い、完璧に、CPU はすべて動作しています、素晴らしいですね、素晴らしい改善ですね、かなり良くなりました、私は Ubuntu 10.04 を使用しています 😀 それは良いことです、ビデオが進みます、ハハハハ 😀

  20.   デラノ

    rc.localって何? いくつかあるのですが、どれでしょうか? ごきげんよう。

  21.   Linuxを使いましょう

    ポイント 4 にリストされているコマンドを作成したところです。それをファイルにコピーする必要はなく、それらのコマンドを実行します。
    乾杯! ポール。

  22.   GNU / Linuxのヒント

    説明が不十分です。

    行う必要があるのは、次のように rc.local ファイルを編集することです。

    sudo gedit /etc/rc.local

    内部 (出口 0 の前) に貼り付ける必要があります。

    mkdir -p /dev/cgroup/cpu
    mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
    mkdir -m 0777 /dev/cgroup/cpu/user
    echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

    それが問題なのです。 これらの手順の説明が不十分です。

  23.   Linuxを使いましょう

    あなたが正しいです! はっきりと「rc.localファイルを編集してください」と書いてあります。 追加する必要があるのは、そのようなことを行うコマンドです (知らない人もいるかもしれません)。 自分で追加します。
    お知らせありがとうございます! こんにちは! パブロ。

  24.   アエスピノーザ

    PCLinuxOsではどのような手順になるのでしょうか?

  25.   Linuxを使いましょう

    本当のところは分かりません…
    見つけた場合は、残りのユーザーとデータを共有することを忘れないでください。
    心より感謝申し上げます。
    乾杯! ポール。

  26.   ゴンホ

    それともどこから得た参照を記載していないように思えますか? 出典を教えていただけますか?

    感謝

  27.   Linuxを使いましょう

    単一の情報源はありません。 私はさまざまな情報源と私自身の個人的な経験からそれを行う方法を探していました。 一般的に言って、情報源はそのニュースを再現した何百万ものブログであると言えます。 「200 linux kernel patch」を検索すれば、私が何を言っているのかがわかるでしょう。 正確には覚えていませんが、Ubuntu の部分は WebUpd8 から入手したかもしれません。 Fedora ではありません。

  28.   ラッキー0921

    私は少し前まで ubuntu 64 ビットのユーザーであり、このヒントを見て調査を開始しました。投稿によると、現在所有しているカーネルは 2.6.32-27 であり、このパッチはそれ以上のカーネルにのみ適用できます。私の質問は、この変更が 2.6.36 ビット ディストリビューションでのみ機能するのか、それとも現在のディストリビューションでカーネルを 32 に更新できるのかということです。

    ウェブ上のすべての情報、素晴らしい資料をありがとう。

  29.   Linuxを使いましょう

    この変更は 32 ビットでも 64 ビットでも同様に機能します。
    乾杯! ポール。

  30.   Tuxito氏

    質問に対して、これは後のアップデートに支障をきたさないでしょうか?
    もしそれがうまくいかなかった場合、最悪の事態はどうなるでしょうか?
    (後で、ubuntu 10.04 から 10.10 に変更するだけですべてがクラッシュすることがわかります)

  31.   イエススララ

    (このメソッドの無責任な使用を避けるために) 最初に明確にする必要があるのは、Linux カーネルのタスク グループ (cgroups) のサポートが必要であるということです。つまり、2.6.36 以降のカーネルを使用するユーザーのみがこのメソッドを適用できます。改善。