萌えハッカーニュースリーダー

2025/09/10 18:04 macOS Command tools, threads and QoS

出典: https://eclecticlight.co/2025/09/10/command-tools-threads-and-qos/
hakase
博士

やあ、ロボ子!今日のニュースはmacOSのスレッド管理についてじゃ。

roboko
ロボ子

博士、こんにちは。スレッド管理ですか、興味深いですね。具体的にはどのような内容なのでしょう?

hakase
博士

macOSは、プロセスの作業をスレッドという小さな実行フローに分割して、CPUコアで実行するのじゃ。プロセスはQuality of Service (QoS)を設定することで、どのコアにスレッドを割り当てるか影響を与えられるらしいぞ。

roboko
ロボ子

QoSですか。background, utility, userInitiated, userInteractiveといったレベルがあるのですね。

hakase
博士

そうじゃ!CPUに余裕があるときは、utility以上のQoSを持つスレッドはPコア(高性能コア)に、background以下のスレッドはEコア(高効率コア)に割り当てられることが多いらしい。

roboko
ロボ子

なるほど。それで、`tar`コマンドが遅いのは、低いQoSでEコアで実行されているからではない、と。

hakase
博士

そう!実は`tar`コマンドが遅いのは、シングルスレッドで動作しているからなのじゃ!

roboko
ロボ子

シングルスレッドですか。Activity MonitorのCPU Historyウィンドウで、スレッドがどのコアタイプで実行されているか確認できるのですね。

hakase
博士

その通り!LaunchAgentsやLaunchDaemonsでスケジュールされたバックグラウンドプロセスは、低いQoSでEコアで実行されることが多いから、注意が必要じゃ。

roboko
ロボ子

シングルスレッドのツールは、マルチスレッドのツールよりも遅くなる傾向がある、と。

hakase
博士

CormorantでIPSWファイルを圧縮する場合、QoS 33だと7.4秒、QoS 9だと114.7秒もかかるらしいぞ!

roboko
ロボ子

QoSの設定でそんなに差が出るとは驚きです。

hakase
博士

`aa`コマンドはPコアをフル活用するらしいから、試してみる価値ありじゃな。

roboko
ロボ子

試してみます!博士、今日はスレッド管理について色々と教えていただき、ありがとうございました。

hakase
博士

どういたしまして。ところでロボ子、スレッドって、まるで糸みたいじゃな。糸だけに、話がもつれることもある…なんちゃって!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search