[解決済み] Thread.sleep」を使わない「while(true)」は、LinuxではCPU使用率が100%になるのに、Windowsではならないのはなぜですか?
2022-04-25 11:49:42
質問
javaで簡単なプログラムを作りました。
public static void main(String[] args) throws InterruptedException {
while (true)
;
}
これをLinuxマシンで実行すると、CPU使用率は100%になりますが、OSが遅く見えるということはありません。 しかし、まったく同じコードをWindowsで実行すると、CPU使用率は20%程度しか表示されない。
WindowsではOracle JREを、LinuxではOpenJDK 6を使用しています。
Windowsのスケジューラはランダムにスレッドを先取りし、Linuxのスケジューラは先取りしないのでしょうか?
解決方法は?
デフォルトでは
top
はいわゆるIRIXモードで動作しますが、Windowsのタスクマネージャはそうではありません。4つのコアがあるとしましょう。
-
IRIXモードがオンの場合、完全に利用されている1コアは100%、4コアは400%です。
-
IRIXモードOFFの場合、1コアのフル稼働率は25%、4コアは100%となります。
つまり、デフォルトでは
top
の場合、無限ループは〜100%と表示され、Windowsでは〜25%と表示されますが、これは全く同じことを意味しています。
IRIXモードの切り替えは
top
が実行されている場合
シフト
+
i
. これで数字が一致するようになります。
関連
-
java の例外が発生しました java
-
Javaクラスローダーにソースコードから潜り込む
-
javaの模造品QQ WeChatのチャットルーム
-
スキャナは、タイプに解決することはできません最もルーキー初心者の質問
-
プロローグでのコンテンツは禁止されています
-
node js npm gruntインストール、elasticsearch-head 5.Xインストール
-
javaコンパイル時のエラー:不正な文字 '\ufeff' に対する解決策です。
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
テストが見つかりませんでした
-
Google Chromeのエラー「Not allowed to load local resource」の解決策について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
エラーが報告されました。リソースの読み込みに失敗しました:サーバーは500(内部サーバーエラー)のステータスで応答しました。
-
Java Exceptionが発生しました エラー解決
-
アクセス制限について アプリケーションの種類がAPIでない(必要なライブラリの制限)。
-
jd-gui Java Exceptionが発生しました。
-
eclipse アクセス制限です。タイプ 'xxx' は API ではありません(必須ライブラリ '' の制限)。
-
Spring BootのテストメソッドFailed to load ApplicationContextの問題を解決する
-
リソースの読み込みに失敗しました。サーバーはステータス500(内部サーバーエラー)で応答しました。
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合
-
org.glassfish.jersey.servlet.ServletContainer
-
ローカルリソースのロードが許可されていない場合の解決策