🗿

PCの負荷状況を調べる方法

2022/12/30に公開

PCの負荷状況を調べる

PCが妙に重いときとか、パフォーマンスのチューニングをしたいときに、何にリソースを使っているのか確認したいときのコマンドです。

想定としては、インフラ系とかをしている人ではなく、ユーザーとかアプリの開発者を想定しています(なので詳しいオプションとか解析方法は書いてないです)。

PCとしてはLinux(特にUbuntu)とMac OSに関して書いていますが、メインはLinuxです。

たまーに、ここらへんのコマンドを調べ直すこと多いのでまとめてみました。

以下の書籍も参考(きっかけ)にしています。

Interface(インターフェース) 2023年 02 月号

この記事はコマンド列挙しているだけですが、使い方や解析方法より詳しく知りたい方は、上記書籍など購入することをオススメします。

全体の負荷調査

topコマンド(Linux/Mac)

とりあえず使うやつ。全体の負荷を見通せます。コマンドは以下です。

$ top

Shiftキーと組み合わせると、並び順を変えることができます。

例えばShift + cだとCPU負荷順。Shift + mだとメモリ負荷順です。

Shift + uでユーザー指定もできます。

vmstatコマンド(Linux)

システム全体の負荷をみれます。以下コマンドで1秒ごとにモニタリングできます。

$ vmstat 1

psコマンド(Linux/Mac)

これも日常的にとりあえず使うやつです。

$ ps aux

なぜauxをつけるのかは以下参照
https://masyus.work/articles/knowledge-linux-ps-aux/

メモリ関係

freeコマンド(Linux)

メモリの使用状況がみられます。

$ free -h

-hオプションは容量をみやすくしてくれます。

macの場合はtopコマンドとgrep組み合わせて以下コマンドで同様の情報がみられるようです。

$ top -l 1 | grep Mem

swapon(Linux)

スワップファイルが有効かと容量を確認できます。コマンドは以下

$ swapon

システムに負荷をかける

stress(Linux)

以下コマンドでインストールします。

$ sudo apt update
$ sudo apt install stress

とりあえずstressとコマンド入力すると使い方がみられます。

例えば、以下コマンドで512MBずつHDDにひたすら書き込んで負荷をあたえます。

$ stress --vm 1 --vm-bytes 512M

以下コマンドでCPUを2コア使って負荷を与え続けます。

$ stress -c 2

以下コマンドだと、HDDをリードライトし続けます(オプションの2はリードライト両方を意味します)。

$  stress --hdd 2

まとめ

負荷を調べるときに使うコマンドをまとめてみました。まだ他にもたまに使うコマンドあった気がするので、思い出したら追記していきます。

参考にした以下書籍も再掲いたします。より詳しい情報の他、同様にたまにやりたくなるブート時のsystemd=analyzebootchartを使った解析などに関しても書かれているので、この記事が必要な方にオススメです。

Interface(インターフェース) 2023年 02 月号

関連記事

https://karaage.hatenadiary.jp/entry/2022/04/20/073000

Discussion