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

RISC-V, VisionFive-2

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

我が家ではmuninを監視ツールとして使ってるので、munin-nodeを入れてサーバーから監視します。
(muninも重たいので、他にいいツールあったら乗り換えたいところです。何が良いんですかね?)

$ 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

監視サーバーから見えるか確認

$ nc starfive.local 4949
fetch sensors_temp
# munin node at starfive
temp1.value 53.1
.
quit

監視サーバー側も設定

$ sudo vi /etc/munin/munin.conf
$ cat /etc/munin/munin.conf
(略)
[XXXXXXXX;visionfive2]
    address starfive.local
    use_node_name yes
(略)


温度状態

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

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


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

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

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

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


リンク

RISC-V, VisionFive-2

Posted by ず@沖縄