題:
為什麼控制CPU頻率需要root用戶訪問權限?
sharptooth
2011-11-21 13:01:53 UTC
view on stackexchange narkive permalink

根據此答案,需要root用戶訪問權限的程序之一是SetCPU,它可以在不使用手機時降低CPU頻率,從而延長電池壽命。

我不沒有得到一件事-為什麼那需要root?降低CPU頻率有什麼危害?

四 答案:
Flow
2011-11-21 15:45:15 UTC
view on stackexchange narkive permalink

如果不同意Sparx,則如果您通過每個現代CPU提供的受支持的方法更改CPU頻率,即使以快速順序進行更改,也不會影響穩定性。由於現代CPU中復雜的安全機制(過熱保護等),我什至不排除硬件損壞。

為什麼只能以root用戶設置頻率和頻率調節器?那麼,首先,因為只有Linux才允許root用戶設置頻率。其次,我認為這是因為普通用戶不應該在意。由系統決定當前情況下最佳頻率。它會自動執行此操作,而無需用戶干預,並且在Android(IMHO)下也能很好地完成工作。儘管認為SetCPU可以延長電池壽命,但如果做錯了,它也可以縮短電池壽命。這裡的問題是:您認為第三方應用程序在電池管理方面比設備製造商的電池管理更好嗎?在某些情況下,但並非總是如此。

如果我將頻率設置得太低,則設備不會從深度睡眠中喚醒。這使它無法使用,直到我拉出電池並重新啟動。不斷的超頻會增加熱量,這對任何電子組件都是不利的。硬件故障的可能性要高得多。哦,如果您想讓setCPU允許用戶使用不同的調節器-這些可以告訴CPU如何以及何時按比例放大/縮小以改善性能或電池壽命,這可能是用戶認為合適的。
我明白你的意思。但是似乎setCPU使用一些內部怪異來降低/超頻。這就是為什麼我添加了*“通過每個現代CPU提供的受支持的方法” *,它在每個CPU上都應該是安全的。
但這需要“ root”,對嗎?我假設您是在談論初始化腳本?
它將需要“ root”,對。我正在談論cpu freq調速器能夠執行的所有操作以及“ cpufred-set”二進製文件。兩者都使用相同的系統調用,因此不會損壞和/或使系統不穩定。
Sparx
2011-11-21 13:26:43 UTC
view on stackexchange narkive permalink

干擾CPU頻率可能導致系統不穩定,還可能導致硬件損壞。最好不要在真正不需要進行此類更改的普通用戶的手中使用這樣的關鍵功能。

由於這無疑是一項核心(重要)功能,因此需要root用戶訪問權限。

>

Bryan Denny
2011-11-21 20:28:12 UTC
view on stackexchange narkive permalink

1)因為只有root用戶才能更改系統的頻率/總督。這是系統級的函數調用,只有root可以做到。您無法真正損壞設備,但最終可能會陷入無限的啟動循環,普通用戶可能不知道如何擺脫該問題。

3)另外:您通常希望更換過大/不足時鐘以獲取新頻率時可能會出現內核,並且可能在降低電壓時會節省功率(但同時,您將超出CPU的參數,並且由於沒有兩個CPU完全相同,因此它可能會導致啟動循環當您執行超出其正常操作參數範圍的操作時。

Lie Ryan
2012-11-10 13:23:07 UTC
view on stackexchange narkive permalink

允許通過用戶級進程直接設置cpu頻率是一個安全問題。它是一種硬件功能,可能會影響系統上運行的其他進程。在理想的系統上,除非通過明確的進程間通信(例如管道,信號,文件等),否則任何用戶級進程都不能影響其他用戶進程的執行。

可能造成的損壞的示例:

  1. 電池壽命:惡意或編寫不當可能會使cpu始終處於較高水平,從而耗盡不必要的更多電池,而無需
  2. 性能低下:惡意或編寫不當的應用程序可能會將cpu頻率設置為持續較低的水平,從而導致性能下降。
  3. 由多個應用程序設置的CPU頻率衝突可能會導致系統性能真正不穩定,並且由於它們之間相互覆蓋而造成普遍破壞。單憑這個原因可能會使整個cpu頻率設置無效。
  4. ol>

    對此的解決方案?任何單個進程都不能直接設置CPU頻率。相反,非根進程只能提供提示,然後系統可以考慮所有進程,系統策略和進程記帳信息中的提示來選擇最佳頻率設置。這就是cpufreq的“管理者”。操作系統的一項工作是調節對共享資源的訪問。

    另外,應該注意的是,降低cpu頻率並不總是可以延長電池壽命,具體取決於工作負荷,較低的頻率也可能意味著需要更長的時間才能完成任務,這很容易抵消節省的錢。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...