Starfive VisonFive2(RISC-V SBC) で遊ぶ – その5 muninで状態監視&CPUファンが必要

RISC-V, VisionFive-2

VisionFive2を長時間動かしているとCPUが熱くなってこける・動作が遅くなって操作できないという現象がでたので、状態監視&グラフ化することにしました。

我が家ではmuninを監視ツールとして使ってるので、munin-nodeを入れてサーバーから監視します。
(muninも重たいので、他にいいツールあったら乗り換えたいところです。何が良いんですかね?)
[code lang="shell"]
$ sudo apt install munin-node
(略)
munin-node (2.0.69-1) を設定しています …
Initializing plugins..done.
Created symlink /etc/systemd/system/multi-user.target.wants/munin-node.service → /lib/systemd/system/munin-node.service.
man-db (2.10.2-1) のトリガを処理しています …
libc-bin (2.33-7) のトリガを処理しています …
$ sudo munin-node-configure –suggest 2>/dev/null |grep yes
cpu | no | yes
cpuspeed | no | yes
df | no | yes
df_inode | no | yes
diskstats | no | yes
entropy | no | yes
forks | no | yes
fw_conntrack | no | yes
fw_forwarded_local | no | yes
fw_packets | no | yes
if_ | no | yes (+eth0 +eth1)
if_err_ | no | yes (+eth0 +eth1)
interrupts | no | yes
irqstats | no | yes
load | no | yes
memory | no | yes
nfs4_client | no | yes
nfs_client | no | yes
open_files | no | yes
open_inodes | no | yes
proc_pri | no | yes
processes | no | yes
sensors_ | no | yes (+temp)
swap | no | yes
threads | no | yes
uptime | no | yes
users | no | yes
vmstat | no | yes
$ sudo munin-node-configure –shell 2>/dev/null
ln -s '/usr/share/munin/plugins/cpu' '/etc/munin/plugins/cpu'
ln -s '/usr/share/munin/plugins/cpuspeed' '/etc/munin/plugins/cpuspeed'
ln -s '/usr/share/munin/plugins/df' '/etc/munin/plugins/df'
ln -s '/usr/share/munin/plugins/df_inode' '/etc/munin/plugins/df_inode'
ln -s '/usr/share/munin/plugins/diskstats' '/etc/munin/plugins/diskstats'
ln -s '/usr/share/munin/plugins/entropy' '/etc/munin/plugins/entropy'
ln -s '/usr/share/munin/plugins/forks' '/etc/munin/plugins/forks'
ln -s '/usr/share/munin/plugins/fw_conntrack' '/etc/munin/plugins/fw_conntrack'
ln -s '/usr/share/munin/plugins/fw_forwarded_local' '/etc/munin/plugins/fw_forwarded_local'
ln -s '/usr/share/munin/plugins/fw_packets' '/etc/munin/plugins/fw_packets'
ln -s '/usr/share/munin/plugins/if_' '/etc/munin/plugins/if_eth0'
ln -s '/usr/share/munin/plugins/if_' '/etc/munin/plugins/if_eth1'
ln -s '/usr/share/munin/plugins/if_err_' '/etc/munin/plugins/if_err_eth0'
ln -s '/usr/share/munin/plugins/if_err_' '/etc/munin/plugins/if_err_eth1'
ln -s '/usr/share/munin/plugins/interrupts' '/etc/munin/plugins/interrupts'
ln -s '/usr/share/munin/plugins/irqstats' '/etc/munin/plugins/irqstats'
ln -s '/usr/share/munin/plugins/load' '/etc/munin/plugins/load'
ln -s '/usr/share/munin/plugins/memory' '/etc/munin/plugins/memory'
ln -s '/usr/share/munin/plugins/nfs4_client' '/etc/munin/plugins/nfs4_client'
ln -s '/usr/share/munin/plugins/nfs_client' '/etc/munin/plugins/nfs_client'
ln -s '/usr/share/munin/plugins/open_files' '/etc/munin/plugins/open_files'
ln -s '/usr/share/munin/plugins/open_inodes' '/etc/munin/plugins/open_inodes'
ln -s '/usr/share/munin/plugins/proc_pri' '/etc/munin/plugins/proc_pri'
ln -s '/usr/share/munin/plugins/processes' '/etc/munin/plugins/processes'
ln -s '/usr/share/munin/plugins/sensors_' '/etc/munin/plugins/sensors_temp'
ln -s '/usr/share/munin/plugins/swap' '/etc/munin/plugins/swap'
ln -s '/usr/share/munin/plugins/threads' '/etc/munin/plugins/threads'
ln -s '/usr/share/munin/plugins/uptime' '/etc/munin/plugins/uptime'
ln -s '/usr/share/munin/plugins/users' '/etc/munin/plugins/users'
ln -s '/usr/share/munin/plugins/vmstat' '/etc/munin/plugins/vmstat'
$ sudo munin-node-configure –shell | sudo /bin/sh
(略)
$ ls /etc/munin/plugins
cpu entropy if_err_eth0 irqstats open_files swap
cpuspeed forks if_err_eth1 load open_inodes threads
df fw_conntrack if_eth0 memory proc_pri uptime
df_inode fw_forwarded_local if_eth1 nfs4_client processes users
diskstats fw_packets interrupts nfs_client sensors_temp vmstat
$ sudo vi /etc/munin/munin-node.conf
(監視サーバーから見えるようにallow/cidr_allowを設定、host_nameも設定)
$ sudo systemctl start munin-node
[/code]
監視サーバーから見えるか確認

[code lang="shell"]
$ nc starfive.local 4949
fetch sensors_temp
# munin node at starfive
temp1.value 53.1
.
quit

[/code]

監視サーバー側も設定
[code lang="shell"]
$ sudo vi /etc/munin/munin.conf
$ cat /etc/munin/munin.conf
(略)
[XXXXXXXX;visionfive2]
address starfive.local
use_node_name yes
(略)
[/code]

温度状態

冷却せず自然空冷に任せると、アイドル状態でも50度を越すのですが、適当なファンで風を当てると35度程度に下がりました。

この状態で、Byte-Unixbenchを走らせると、1コアのテストで40度、4コア全部使うと45度まで温度が上がります。やっぱファン必要だな。


ファンは何を買えばいいのか?

RVspace Forumの記事に寸法入りの基盤画像があり、画像からファン固定ネジの間隔を計算すると、54.86mm。手軽に入手できる40mmや50mmのファンでは使えなさそうな、中途半端なサイズです。

RVフォーラムやRedditを調べると以下のクーラーは使えそう。ネジの間隔は何ミリなんだろう。

Aliexpressを探すと、ネジ間隔を調整できるやつがあるので、注文してみました。届くまでは扇風機かな…


リンク

RISC-V, VisionFive-2

Posted by ず@沖縄