M4 Mac miniでプチフリーズ頻発

速いのが取り柄のはずのM4 Mac miniですが,ここ数日でしょうか,プチフリーズが頻発して使い物になりません.Pagesやテキストエディット,Firefoxで文字を入力しているときにも,各種アプリをマウスで操作をしているときにも,VMWare Fusionで仮想マシンを動かしている時にも突然ポインターが無反応になるか,キーボードからの入力に無反応になります.無反応な状態は5〜16秒程度です.虹の円盤が出るときもあれば,何も出ないときもあります.

今この文章を書いているように,普通にゆっくり文章を書く時はまだマシなのですが,和文モールスを受信しながらテキストエディットに書き込んでいる時は特に困ります.フリーズしている間にもモールスが聞こえてきますからそれを入力しますが,文字が抜けたりします.

これまではこんなことはなかったので,何かアプリが関係しているのかなと思います.最近新しく導入したものはないのですが,使っているアプリがupdateがされるのでその影響があるかもしれません.

そう考えると,ATOKかScanSnapかなと思いますが,確証は得られません.

今とりあえず,ATOKをやめてmacOS付属の日本語変換にしています.時々プチフリーズが起こりますが,フリーズしている時間がATOKの時より短い感じがします.本質的な改善ではないですね.

2025年11月1日(土)計測しました.

M4 Mac miniのWi-Fiの速度

そう言えば,M4 Mac miniでWi-Fi接続時のスピードを測ったことないなと思いやってみました.

M4 Mac miniをNuroのルーターのWi-Fiに接続した時のスピード

Wi-Fiでこれだけスピードが出れば文句はないです.

Wi-Fiの接続先はいつものTP-LinkのMeshルーターではなく,NuroのONU一体型ルーターとしています.TP-Linkのルーターは1Gbpsの回線でNuroのルーターにつないでいるので1Gbps以上出ません.

Nuroは下り2Gbps, 上り1Gbpsということで,その帯域を活かした結果が出ました.

ただ,普段は他のモバイル機器にWi-Fiを空けるために,Mac miniは1Gbpsの有線でNuroのルーターにつないで使います.

M4 Mac miniを有線LAN(1000BASE-T)でNuroのルーターに接続した時のスピード

これで十分です.

ATOM Cam 2のRTSPをRasPi3で見る Trixie update (2025/10/18)

前回のupdateから3週間ですが,Raspberry Pi OSをTrixie (13.1)にupgradeしたので,現状をまとめます.

ATOM Tech社のATOM Cam2が出力するReal Time Streaming Protocol (RTSP)をRaspberry Pi 3 Model B (RPi3)および同+ (RPi3+)で視聴するシステムを少しずついじりながら運用しています.

概況

VLCによるRTSP視聴は,RPi3, RPi3+どちらにおいても非常に安定しています.特に,RPi3のほうは実用レベルの安定性です.

現在の状況 (RPi3, RPi3+共通)

システム構成

  • 1GB RAM, 32GB microSDカード (RPi3+は64GB)
  • Raspberry Pi OS 13.1 (Trixie)
  • rpi-swap (ZRAMとfile swapのハイブリッド.RPiOS Trixieのデフォルト設定)

Waylandでは安定しないので,raspi-configでX11を選択します.

VLCの起動

$HOME/bin/run_vlc.sh

#!/bin/bash
killall vlc
sleep 3
DISPLAY=:0 /usr/bin/vlc   \
	-f \
	rtsp://カメラのUserID:パスワード@カメラのIPアドレス/live	\
  	> /dev/null 2>&1 &

systemdの設定

$HOME/.config/systemd/run_vlc.service

# run_vlc.service
[Unit]
Description=Run vlc
DefaultDependencies=no
After=graphical.target

[Service]
Type=simple
ExecStart=/PATH/TO/THE/SCRIPT/run_vlc.sh
TimeoutStartSec=0
RemainAfterExit=yes

[Timer]
OnBootSec=15sec

[Install]
WantedBy=timers.target

設定

ユーザー権限にて

systemctl --user enable run_vlc

再起動の仕組み

$HOME/bin/rerun_vlc.sh

#!/bin/bash
systemctl --user restart run_vlc 

$HOME/.config/systemd/user/rerun_vlc.service

# rerun_vlc.service
[Unit]
Description=Re-run vlc
DefaultDependencies=no
After=run_vlc.target

[Service]
Type=simple
ExecStart=/PATH/TO/THE/SCRIPT/rerun_vlc.sh
TimeoutStartSec=0
RemainAfterExit=no

[Install]
WantedBy=default.target 

$HOME/.config/systemd/user/rerun_vlc.timer

# rerun_vlc.timer
[Unit]
Description=Rerun vlc every day at 11:32
After=graphical.target

[Timer]
OnCalendar=*-*-* 11:32:00
OnCalendar=*-*-* 04:30:00

[Install]
WantedBy=timers.target

設定

systemctl --user enable rerun_vlc.timer

解説

RPiOS 13.1 Trixieで採用されたrpi-swapの効果と,VLCのたゆまぬupdateのおかげと思いますが非常に安定です.RPi3ではほとんどVLCが落ちることはなく実用レベルと言えると思います.RPi3+ではまだ1日に1度くらいの頻度で落ちます.

VLCが落ちるケースでも従前は画面がフリーズすることが多かったですが,Trixieにupgradeして以降はフリーズはなく,VLCの表示窓がフルスクリーンを終了してエラーメッセージが表示されるようになりました.フリーズ状態でVLCやOSを再起動するには数分無駄時間がかかりましたが,フリーズしないので再起動も即できます.

また,その後確認はしていませんが,Raspberry Pi 4 Model BやRaspberry Pi 5では余裕で安定動作するはずです.

Rapsberry Pi Zero 2もTrixieにupgradeしましたが,VLCで当該のRTSPを視聴すること自体が不可能な状態です.

OSのupgrade効果かVLCのupdateの効果かは不明.

不調の原因はSDカード

Raspberry Pi 3 Model B+(以下RPi3+)であっさりうまく動いた,Trixie下のVLCによるRTSP視聴の自動起動ですが,同Model B(RPi3)では四苦八苦でした.

最終的にこれはmicro SDカードの問題ではと考え,それまで使用していたTranscendの16GBを新品ではないですがまだあまり使ったことのないSanDiskの32GBに交換しました.

そしたら何の支障もなく電源ONからRTSP視聴までスムーズにいきました.

やはりRaspberry PiにとってSDカードはパフォーマンスや安定性に大きく関わるようです.

Transcend 16GB micro SDカード(上)とSanDisk 32GB micro SDカード.

Raspberry Pi OS 13.1 Trixie

Raspberry Pi OS (RPiOS)の13.1 Trixieが正式リリースになりました.

早速,ATOM Cam 2のReal Time Streaming Protocol (RTSP)画像をVLCで見ているRaspberry Pi 3 Model B (RPi3)と同Model B+ (RPi3+)のupgradeをしました.

最初はRPi3+の/etc/apt/sources.listbookwormtrixieに書き換えて,

apt update
apt full-upgrade

を施しましたが,エラーが出てうまくいきませんでした.

そこで,クリーンインストールをすることにしました.Raspberry Pi Imagerが最新のTrixieをダウンロードしますのでそのままmicroSDカードに書き,RPi3+に差し込んで起動し設定をします.

久しぶりにクリーンインストールをすると結構面倒ですが,/etc/ssh内にあるsshサーバーのキーと,メインユーザーのホームディレクトリーにある.sshを保存しておいてそのままTrixieをインストールしたmicroSDカードに書くことで,他のマシンからのログイン,他のマシンへのログインはすんなりそのままできます.

問題は,VLCを起動する仕組みですが,RPi3+に関してはBookwormで使っていた設定をそのままコピーして,

systemctl --user enable run_vlc

として動くようになりました.

RPi3の方も同じようにしましたが,なかなかVLCが起動してくれません.コンソールから

systemctl --user restart run_vlc

とすると動くので,タイミングだけの問題と思われます.

実際これまではあまり感じていませんでしたが,RPi3の動作,特に起動時がRPi3+よりずっと遅いです.これはもう少し調整して,うまい具合にしたいと思います.

目についたBookwormとTrixieの違いですが,dphys-swapfileが廃止されて,rpi-swapというのに変わりました.zramをキャッシュとして使い,/var/swapに読み書きするようです

RPiではやはりSWAPがパフォーマンスのボトルネックになるので,開発者たちもこれまでのdphys-swapfileには限界を感じてzramと組み合わせた仕組みを導入したようです.

筆者はSlackware流儀なのでシステムのメインテナンスはroot権限で実行するので,sudoは付けません.
M4 mac mini等.
これはユーザー権限です.
これは厳密には間違いで,基本はzramですが,一日に1度zramの内容を/var/swapにコピーして保存する,というのが正しいようです.