[サーバー負荷が上がりピンチ!] CPU使用率が高いプロセスや、メモリを大量に消費しているプロセスについてChatGPTに教えてもらう(topコマンド)
今回は、CPU使用率が高いプロセスや、メモリを大量に消費しているプロセスについてChatGPTに教えてもらおうと思います!
1.なぜ、サーバー負荷チェックについて教えてもらおうとしたか?
以下の通り。
1-1.画像を超解像にしたい
画像から文字を抽出する際に読み取り精度を上げたく、ESRGANという、画像を超解像にする機能があるとのことで、さっそく使おうと思った!
1-2.学習済みモデルをGoogle Driveからwgetができず
ESRGANを使用する際には、学習済みモデルをGoogle Driveからダウンロードせよ。とのことでサーバー上に配備しようと試みるが、Google Driveからwgetが上手くできず。
1-3.WEBからアップロードする機能を作ってしまえ
ローカルにダウンロードしてsftpで配置で良いのですが、WEBからアップロードする機能を作ってしまえ!とのことで早速ChatGPTで作ることに。
1-4.ウイルスチェックも搭載する
アップロード機能を作るなら、ウイルスチェックも搭載しよう!ということで、やり方をChatGPTに聞く
1-5.ClamAVを使ったら、サーバーの負荷が急激に上がりピンチ!
ClamAVを使ったら、サーバーが高負荷状態となり、SSHもほぼ動かなくなりピンチ!どうしよう!!
1-6.サーバーのCPU使用率やメモリ使用量の調査の仕方をChatGPTに教えてもらう!
というわけで、サーバーのCPU使用率が高いプロセスや、メモリを大量に消費しているプロセスをChatGPTに教えてもらうことにしました。
(早くなんとかしてくれ!)
2.ChatGPTにサーバーの負荷のチェックについて教えてもらう
少々焦りながら、ChatGPTにtopコマンドについて聞きました。
topコマンドは使用したことがありますが、ガチで負荷が高い時には使用したことがなかったので、今回は身をもって勉強できそうです!
2-1.topコマンドについて、CPU使用率が高いプロセスや、メモリを大量に消費しているプロセスについての見方
top - 15:30:21 up 1 day, 3:45, 2 users, load average: 0.02, 0.03, 0.00
Tasks: 104 total, 1 running, 103 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.0 us, 0.5 sy, 0.0 ni, 98.0 id, 0.5 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 4037164 total, 1520280 free, 1203988 used, 1312896 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 2545972 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 root 20 0 274520 37228 8168 S 1.0 0.9 0:12.34 myprocess
5678 user 20 0 107640 4148 2900 S 0.5 0.1 0:03.21 anotherproc
2-2.kswapd0とは?
kswapd0のCPU使用率が100%となっている。。
2-3.'kswapd0'のCPU使用率が高いので、解消したい
free -m
total used free shared buff/cache available
Mem: 7982 6792 155 132 1035 752
Swap: 2047 512 1535
swapon -s
Filename Type Size Used Priority
/dev/sda1 partition 2047996 512 -2
top -o %MEM
kill -9 <PID>
現在の設定値の確認:
cat /proc/sys/vm/swappiness
一時的な変更(次の再起動まで有効):
sudo sysctl vm.swappiness=10
永続的な変更(再起動後も有効):
sudo nano /etc/sysctl.conf
以下の行を追加または変更します:
vm.swappiness=10
sudo sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
3.負荷終息後、再び新手の負荷か!?
ClamAVのデーモン(clamd)のメモリ使用率が80%で、これがサーバー負荷の原因なので、killコマンドで停止しようとしたのですが停止せず、lightsailの管理画面からインスタンスを停止、開始を数回実施したところ、負荷が落ち着き無事正常な状態に戻りました。。焦った焦った。
その後、ESRGANを使用する際の学習済みモデルをサーバーに配置し、「超解像!」してみたところ、これもサーバー負荷が高まったので急遽ロジックを消すことに。。
4.そういえば、推奨スペックを調べてなかったので、ChatGPTに聞く
「聞くのが遅い!」
最初に調べるべきでしたが、推奨スペックをChatGTPに聞くことに!
ESRGANの推奨スペック(一部抜粋)
ClamAVの推奨スペック(一部抜粋)
使用しているサーバースペックは?
ぜんぜん足りてない!!
Lightsail 1GB!
よくよく考えると画像処理や動画編集などをする際に使用するマシンスペックは、16GB以上ないと厳しいですよね〜。
おわりに
最後まで読んで頂きありがとうございます!
作業中、SSHが相当重くなり、CPU使用率が100%になった時は焦りましたが、それがきっかけでtopコマンドを整理することができたのは良かったです。
「そのうちtopコマンドを整理する!」と、かなり奥の方に眠っていたTODOリストがありましたが、やっとFIXすることができました!
(優先度が高くないTODOリストは基本的に放置されてしまいますね〜)
おまけ
最近クイズサイトを作りました!
1問でも実施していただけると嬉しいです!!!
それと、ChatGPTを使用し、色々なことを模索しています。
もしよければ、以下の記事も見て頂けると嬉しいです!
この記事が気に入ったらサポートをしてみませんか?