TS-873A 過剰なCPU負荷

Linuxの専門家の方々に助けていただけるかもしれないと思い、投稿します。あまり得意ではない分野に足を踏み入れています。

私のTS-873Aは、最近TOPコマンドで過剰なCPU負荷を報告しています。40台や50台の数値が定期的に表示され、下がりません。数ヶ月間システムに特に変更はありません。最初にこの現象を見かけたのは、h5.2.8.33559にアップデートした直後だったように思います。でも、ファームウェアが原因ではありません。何度もダウングレードやアップグレードを試しましたが、同じ現象が起こります。

QNAPサポートにチケットを開きましたが、今のところ「アプリが多すぎます。QSirchやContainer Stationを無効にしてください」しか言われていません。それらも試しましたが、効果なし。負荷は下がりません。しかも、それらのアプリは数ヶ月間問題なく動いていたので、影響しないと思っていました。

一時は問題を把握できたと思い、ほぼ2日間は負荷が5程度の正常な数値でした。しかし昨日の夕方、再び急上昇しました。しかも昨晩はNAS上で何も操作や実行をしていませんでした。

さらに奇妙なのは、NASのWeb UIにアクセスしても、負荷が50もある割には極端に遅いというほどではありません。遅くはなっていますが、使えないほどではありません。それでも本来よりは遅いです。

どこかで何かのプロセスが異常をきたし、ゾンビプロセスが発生してリソースを消費しているのではないかと思っています。問題は、それを見つけられないことです。「高負荷」アプリをほぼすべて停止してみましたが、CPU負荷には影響ありませんでした。

そこで、Linuxのクリーンアップやcronジョブなど、何かやるべきことがあるのか、アドバイスをいただきたく投稿しました。正直、どうすれば良いかわかりません。

CPUを「消費」しているプロセスの優先度にも一部依存しますが、これは異常ではないと思います。

「uptime」の出力を見て、平均値を確認してみてください。

[~] # uptime
 12:18:15 up 25 days, 21:38,  load average: 0.15, 0.13, 0.13

「top -n 1>[logfile]」をcronタスクやsleepループスクリプトで実行して、状況を把握してみてください。

procstatの詳細も確認して、何が起きているか見てみましょう

CPUの問題ではない可能性もあります。ファイルシステムの問題、ハードドライブの容量不足、その他多くの要因が関係してくる場合があります。

ファームウェア4.5に戻してみましたか?(冗談です - ちょっとだけ)

以下のツールも参考にできます(一部はインストールが必要です)

ありがとうございます。何時間も続く過度なCPU負荷は異常です。数時間前の最後の再起動後、今は落ち着かせることができました。

17:53:21 up 7:47, load average: 2.91, 2.88, 2.87

これは良い状態です ― 本来あるべき姿ですね!

本当に知りたいのは、どのプロセスが負荷に寄与しているかです。topコマンドは上位プロセスのCPU使用率しか表示しませんが、それが必ずしも負荷に大きく影響しているとは限りません。

ご紹介いただいた他のユーティリティも調べてみます。何か手がかりが得られるかもしれません…

それと、4.5は選択肢にありません。いずれにせよ、Hero(ヒーロー)を使っています。

リソースモニターで「プロセス」を選択し、CPUを2回クリックして高い順に並べ替えます。

それはCPUの使用率しか表示していません。CPU負荷とは全く異なります。

OK、こんなことを聞くと馬鹿みたいに思われるかもしれませんが、QNAPのLinuxディストリビューションにはaptコマンドが存在しないようです。htopをインストールしたいです。

sudo apt install htop

QNAPでこのような「普通の」Linuxコマンドをインストールするにはどうすればいいですか?

Entwareや同等のものをインストールするか、「本物の」Linuxディストリビューションをコンテナで実行する必要があると思います(ただし、これはオーバーヘッドが増えるため、あまりおすすめできません)。

https://www.reddit.com/r/qnap/comments/nyyqj0/is_it_possible_to_upgrade_an_installed_qpkg_or/

あっ。素晴らしいです!ありがとうございます!

うーん…MyQNAP.orgリポジトリからEntwareをインストールしましたが、APTコマンドがありませんし、パスも定義されていないようです…

申し訳ありませんが、これ以上のアドバイスはできません。リソースの問題を調査したり、Linuxのコアを直接インストールしたことがありません。

私は運が良いだけかもしれませんが、私のシステムはアイドル状態で非常に少ないリソースしか使用しません。

login as: admin
admin@192.168.1.30's password:
[~] # uptime
 14:27:57 up 27 days, 23:47,  load average: 0.08, 0.07, 0.10

QTS 4.5でなければなりません! :smiley:

そして、私ほど多くのものをロードしていないと思いますが…

今は大丈夫ですが、ここに来るために再起動しなければなりませんでした:

image

aptはEntware(またはQTS)の一部ではありません。Entwareは代わりにopkgを使用します。例:

opkg install htop

うまくいきませんでした…

:frowning:

SSH経由でadminユーザーとしてログインしていることを確認してください。

Sudoが動作しませんか?

Entwareは通常のユーザーアカウントでも動作させることができますが、まずEntwareのプロファイルを読み込んで、セッションの$PATHを更新する必要があります。

代わりにadminアカウントを使う方が簡単です。 :wink:

「いいね!」 1

OK。うまくいきました。

どうやらEntware(エントウェア)関連の操作はすべてAdmin(管理者)アカウントで行う必要があるようです。HTOP(エイチトップ)をインストールしましたが、通常のアカウントでは実行できません。

これを変更するにはどうすればいいですか。

また、各プロセスがLoad Average(ロードアベレージ)数値にどれだけ貢献しているかを表示するユーティリティをご存知ですか?それが本当に見たいことです。何がその数値を増やしているのか。HTOPもそれを直接は表示していないと思います…

まず、Entwareのprofileを読み込む必要があります。これを行うには、sourceコマンドをユーザーの$HOMEにある.profileに追加してください。このファイルはデフォルトでは存在しないため、作成する必要があるかもしれません。

SSHで希望のユーザーアカウントにログインし、次のコマンドを実行してください:

echo '. /opt/etc/profile' >> $HOME/.profile

…その後、SSHセッションをログアウトし、再度ログインしてください。これでopkgコマンドが使えるようになるはずです。

「いいね!」 1

システムのロードアベレージ指標は厄介なものです。私は20年以上Linuxを使っていますが、まだ完全には理解できていません。 :wink:

私の場合、ロードアベレージがハードウェアの問題(RAM、NIC、HDDなど)で増加したことは実際にはありませんでしたので、何が問題なのかじっくり調べたことはありません。

ですが、要するに、CPU負荷だけが全てではありません。フォーラムで報告された最後の事例では、不良なRAMスティックが原因でプロセスがウェイト状態に入っていました。

もっと経験豊富な方が診断の助けになってくれることを願っています。私の能力では難しいです。:face_with_monocle:

実際、HTOP(エイチトップ)にはかなり多くのカスタマイズや情報が用意されています。これを進めながら、何が起きているのかを確認してみましょう…