簡而言之,幾天前 一位內核開發人員上傳了一個補丁 (200行代碼)極大地提高了系統性能(近10倍),尤其是在執行繁重的任務(例如編譯內核)期間處理多任務時。 Linus祝賀這位開發人員所做的巨大貢獻。 但是,紅帽開發人員 Lennar Poettering不同意直接從內核實現此增強功能。 最好讓他在用戶空間中進行更改 (〜/ .bashrc)。 萊納斯(Linus)生氣並譴責了這位開發人員,並告訴他結果表明一切。 Lennar坐下來設計,而不是苛刻地回答 一個替代方案(不需要修補內核)並且僅佔用4行。 最終,他們關閉了Linus ... |
注意:此方法需要支持Linux內核(cgroups)中的任務組,即,只有內核高於2.6.36的用戶才能應用它。
如何在Fedora中應用補丁
1。 - 編輯〜/ .bashrc文件。
gedit〜/ .bashrc
2。 - 將以下代碼粘貼到文件末尾:
如果[“ $ PS1”]; 然後
mkdir -m 0700 / sys / fs / cgroup / cpu /用戶/ $$
回顯$$> / sys / fs / cgroup / cpu /用戶/ $$ /任務
fi
3。 - 運行以下命令:
掛載-t cgroup cgroup / sys / fs / cgroup / cpu -o cpu
mkdir -m 0777 / sys / fs / cgroup / cpu /用戶
如何在Ubuntu中應用補丁
在Ubuntu中,事情有點複雜...
1。 - 編輯檔案 本地 使用此命令:
須藤gedit /etc/rc.local
並在顯示“ exit 0”的位置之前粘貼以下內容:
mkdir -p / dev / cgroup / cpu
掛載-t cgroup cgroup / dev / cgroup / cpu -o cpu
mkdir -m 0777 / dev / cgroup / cpu /用戶
echo“ / usr / local / sbin / cgroup_clean”> / dev / cgroup / cpu / release_agent
2。 - 保存文件並賦予其執行權限:
須藤chmod + x /etc/rc.local
3。 - 編輯檔案 在〜/ .bashrc:
gedit〜/ .bashrc
4。 - 將以下代碼粘貼到文件末尾:
如果[“ $ PS1”];
然後mkdir -m 0700 / dev / cgroup / cpu / user / $$
echo $$> / dev / cgroup / cpu / user / $$ /任務
迴聲“ 1”> / dev / cgroup / cpu /用戶/ $$ / notify_on_release
fi
5。 - 修改cgroup_clean文件:
須藤gedit / usr / local / sbin / cgroup_clean
6。 - 將以下代碼粘貼到文件末尾:
#/ bin / sh的
如果[“ $ *”!=“ /用戶”]; 然後
rmdir / dev / cgroup / cpu / $ *
fi
7。 - 保存文件並賦予其執行權限:
須藤chmod + x / usr / local / sbin / cgroup_clean
8。 - 重新啟動系統。
注意:如果看到/ dev / cgroup /文件夾,您會發現多任務管理有了很大的改進。
我找到了Arch的說明,它們在這裡: http://pastebin.com/raw.php?i=sHRYRuAN
就我而言,我已應用了補丁,總體上我沒有註意到很多改進,但是如果您在滾動網頁時發現很大的變化,那麼它們第一次真的很流暢! =)
大! 非常感謝您的分享!
我是否告訴過您,我們正在尋找使用Arch博客的人? 如果您有興趣,請寫信給 使用moslinux@gmail.com
一個大大的擁抱! 保羅
感謝您的邀請,然後我們將繼續通過郵件然後then
有機會沒有關於Archlinux的說明,對嗎? 🙂
我沒有找到他們。 但是有些事情告訴我,它肯定更像Fedora。 另一方面,應該牢記的是,當每個人都在組裝自己想要的Arch時,也許會影響要遵循的程序...
在這裡,我找到瞭如何在Archlinux中應用它們,它與fedora非常相似: http://pastebin.com/raw.php?i=sHRYRuAN
bash:/ dev / cgroup / cpu / user / $ / tasks:文件或目錄不存在
我遵循了這些說明,如果有事情要做,打開終端AMD64 x時它會一直告訴我這個錯誤。
我已經找到了,請巴勃羅糾正 http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html
在ubuntu中做什麼-而不是您所做的-是:
須藤gedit / usr / local / sbin / cgroup_clean
並把這個:
#/ bin / sh的
如果[“ $ *”!=“ /用戶”]; 然後
rmdir / dev / cgroup / cpu / $ *
fi
準備! 更正! 謝謝!
是真的! 謝謝你提醒我!
我只是在帖子開頭添加了說明。
一個擁抱! 保羅
具體來說,我將為用戶帶來哪些好處,以及在系統中將看到哪些性能改進。
一切都快得多。 但是,當您執行繁重的任務並希望同時執行其他任務時,差異實際上是“可見的”。 例如,您正在運行多個程序的安裝,或者正在編譯內核或編輯沉重的視頻,同時又想瀏覽互聯網或觀看電影等。
如果您發現如何在Arch中實現該補丁,請告訴我,我將嘗試運行在Fedora中可用的補丁。
擁抱! 保羅
我想這取決於您如何使用計算機。 如果您幾乎不使用Internet和某些簡易文本編輯器,那麼您將不會“感覺”到區別。 另一方面,如果您像我一樣,在瀏覽互聯網或看電影時做繁重的工作(例如轉換視頻,編譯內核等),則可以分辨出兩者之間的區別。
在完成所有步驟之後,當我打開終端時,我總是得到以下信息:
mkdir:無法創建目錄“ / dev / cgroup / cpu / user / 1844”:文件或目錄不存在
bash:/ dev / cgroup / cpu / user / 1844 /任務:文件或目錄不存在
bash:/ dev / cgroup / cpu / user / 1844 / notify_on_release:文件或目錄不存在
domingopv @ pc1:〜$
即使終端機,一切都正常,您做錯了嗎?
嗯...我真的不知道這可能是什麼。 但是,我的印像是,您可能無法很好地完成某些步驟,尤其是從5開始。 嘗試重複它們,或確保您設置正確。 我現在能想到的就是這些。
一個大大的擁抱! 保羅
重新安裝特立獨行並重新安裝補丁,現在我得到以下信息。
mkdir:無法創建目錄“ / dev / cgroup / cpu / user / 1678”:文件或目錄不存在
bash:/ dev / cgroup / cpu / user / 1678 /任務:文件或目錄不存在
bash:/ dev / cgroup / cpu / user / 1678 / notify_on_release:文件或目錄不存在
domingopv @ pc1:〜$
Uyy ..我真的不知道這可能是什麼。 它對我來說很完美。
某些情況告訴我,cgroup清理效果不佳。 因此,我堅持要求您從步驟5開始。
乾杯! 保羅
我的母親,給人留下深刻的印象,我可以在無源nvidia 1080上看到8400p閃存視頻,我的意思是,不好,很糟糕,cpus都可以正常工作,非常棒的ffff,可以改善,更好,我有Ubuntu 10.04😀很好,視頻對我很好哈哈哈😀
什麼是rc.local? 有幾個,是哪個? 問候。
我只是編寫了第4點中列出的命令。您不必將其複製到文件中,而是運行那些命令。
乾杯! 保羅
解釋不充分。
您要做的是使用以下命令編輯rc.local文件:
須藤gedit /etc/rc.local
您必須粘貼到其中(在出口0之前):
mkdir -p / dev / cgroup / cpu
掛載-t cgroup cgroup / dev / cgroup / cpu -o cpu
mkdir -m 0777 / dev / cgroup / cpu /用戶
echo“ / usr / local / sbin / cgroup_clean”> / dev / cgroup / cpu / release_agent
那就是問題所在。 這些步驟解釋不清。
你是對的! 它清楚地說:“編輯rc.local文件。” 缺少要添加的是執行這種操作的命令(有些人可能不知道)。 我現在添加它。
感謝您的通知! 乾杯! 保羅
PCLinuxO中的程序是什麼?
事實是我不知道……
如果您發現了,別忘了與其他人共享數據!
非常感謝您!
乾杯! 保羅
在我看來還是您沒有提供任何參考資料? 你能告訴我消息來源嗎?
謝謝
沒有單一來源。 我一直在尋找如何從不同來源和個人經驗中去做。 概括地說,我可以告訴您消息來源是複制該新聞的數百萬博客。 查找“修補200個Linux內核行”,您將看到我在說什麼。 我記不清了,但是Ubuntu部分可能是從WebUpd8獲得的。 Fedora則不然。
我是不久前使用ubuntu 64位的用戶,當我看到此提示時,我開始研究,根據該帖子,我擁有的當前內核是2.6.32-27,此補丁僅適用於大於或等於2.6.36我的問題是,如果此更改僅適用於32位發行版,或者在我當前的發行版中,內核可以更新為2.6.36?
感謝您在網絡上提供的所有信息,非常棒的材料。
此更改適用於32位和64位。
乾杯! 保羅
一個問題,這不會和以後的更新搞混嗎?
如果進展不順利,可能發生的最壞情況是什麼?
(您看到,然後從Ubuntu 10.04升級到10.10會使所有程序崩潰)
需要澄清的第一件事(避免不負責任地使用該方法)是它要求支持Linux內核(cgroup)中的任務組,即,只有內核高於2.6.36的用戶才能應用此方法。改善。