Linuxで組もう!DIY PC Audio 詳細解説 Vol.6
(4) リアルタイムカーネルの実装と設定
さて、前回でSSHも繋がったので、ちゃんと机に座って、離れた場所から作業できますね!
今までDebianマシンに繋げていたキーボードやマウスなどは、全て外して押し入れに片付け、Debianマシンは、オーディオラックの最適な位置に美しく設置してください。
ただし、ここまでの設定に据え置きのTV画面を使用されていた方は、緊急時に直接入力で再設定を行うことを念頭に、HDMIケーブルは繋げたままの方がいいかと思います。
いよいよReal Time Kernelのインストールです。
:~$ sudo apt update
:~$ sudo apt install linux-image-rt-amd64
これだけです。拍子抜けする感じですよね。
本当に実装されているのか、確かめてみましょう。
:~$ sudo uname -a
Linux debianmusic 4.19.0-9-rt-amd64 #1 SMP PREEMPT RT Debian 4.19.118-2 (2020-04-29) x86_64 GNU/Linux
unameは、カーネルの名前やバージョン、ハードウェア名など、システム情報を確認するコマンドです。-aは、全ての情報の表示、というサブコマンド。
カーネル名(= Linux)、ホスト名(= debianmusic)、カーネルリリース番号(= 4.19.0-9-rt-amd64)、カーネルバージョン(= #1 SMP PREEMPT RT Debian 4.19.118-2 (2020-04-29))、ハードウェア名(= x86_64)、CPU(不明な場合は省略 - ここでは不明のため表示されていません)、ハードウェアプラットフォーム(同様に不明のため表示されていません)、OSの名前(GNU/Linux)をこの順番で表示しています。
この、カーネルリリース番号(= 4.19.0-9-rt-amd64)に「rt-amd64」が、そしてカーネルバージョン(= #1 SMP PREEMPT RT Debian 4.19.118-2 (2020-04-29))に「PREEMPT RT」記述のある事が、ちゃんとReal Time Kernelが実装されている証拠です。
無論、ただReal Time Kernelを入れただけでは、何の効果もありません。
オーディオ 再生のための最適値の設定のため、後に指定するaudioグループに対して、/etc/security/limits.confに追加の記述を行いましょう。
:~$ sudo nano /etc/security/limits.conf
# /etc/security/limits.conf
#
#Each line describes a limit for a user in the form:
#
#<domain> <type> <item> <value>
#
#Where:
#<domain> can be:
# - a user name
# - a group name, with @group syntax
# - the wildcard *, for default entry
# - the wildcard %, can be also used with %group syntax,
# for maxlogin limit
# - NOTE: group and wildcard limits are not applied to root.
# To apply a limit to the root user, <domain> must be
# the literal username root.
#
#<type> can have the two values:
# - "soft" for enforcing the soft limits
# - "hard" for enforcing hard limits
#
#<item> can be one of the following:
# - core - limits the core file size (KB)
# - data - max data size (KB)
# - fsize - maximum filesize (KB)
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open file descriptors
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
# - cpu - max CPU time (MIN)
# - nproc - max number of processes
# - as - address space limit (KB)
# - maxlogins - max number of logins for this user
# - maxsyslogins - max number of logins on the system
# - priority - the priority to run user process with
# - locks - max number of file locks the user can hold
# - sigpending - max number of pending signals
# - msgqueue - max memory used by POSIX message queues (bytes)
# - nice - max nice priority allowed to raise to values: [-20, 19]
# - rtprio - max realtime priority
# - chroot - change root to directory (Debian-specific)
#
#<domain> <type> <item> <value>
#
#* soft core 0
#root hard core 100000
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#ftp - chroot /ftp
#@student - maxlogins 4
@audio - rtprio 99
@audio - memlock unlimited
@audio - nice -10
# End of file
それぞれ何をやっているのでしょう?
設定ファイル内のコメントアウトされた行に解説が書いてありますね。
詳細に見ていきましょう。
@audio - rtprio 99
# - rtprio - max realtime priority
real time priority、すなわち、リアルタイム処理の優先度設定です。値が大きいほど、優先度は上がります。99が最高値です。
@audio - memlock unlimited
# - memlock - max locked-in-memory address space (KB)
ジョブの処理を行うメモリのロック範囲です。プロセスごとに利用可能なメモリの大きさを設定します。我々のシステムはMPD専用ですから、太っ腹に「無制限」でいきましょう。
@audio - nice -10
# - nice - max nice priority allowed to raise to values: [-20, 19]
niceは、ジョブに対する優先度を設定するコマンドですね。ここにあるように-20から19の間で設定可能で、低いほど優先度は上がります。ただ、あまり低すぎても良くないようで、ここは-10で設定しましょう。
Linuxで組もう!DIY PC Audio 目次
全過程 Vol.1: Debian buster インストール準備編
全過程 Vol.2: Debian buster インストール
詳細解説 Vol.2: Linux / MPD / Real Time Kernelについて
詳細解説 Vol.3: コマンドライン(1) Linux テキストエディタのインストール
詳細解説 Vol.4: コマンドライン(2) 固定IPアドレス設定
詳細解説 Vol.5: コマンドライン(3) リモート作業環境の確立
詳細解説 Vol.6: コマンドライン(4) リアルタイムカーネルの実装と設定
詳細解説 Vol.7: コマンドライン(5) MPD / mpc / ALSA / Avahi Daemon + Safety Shutdown設定
詳細解説 Vol.8: コマンドライン(6) ジャケ写表示設定
詳細解説 Vol.9: コマンドライン(7) MPD詳細設定
詳細解説 Vol.10: コマンドライン(8) NAS上の楽曲データのマウント
詳細解説 Vol.11: コマンドライン(9) おまけ - WoL設定
(21/08/29更新)Debian bullseye & MPD 0.22.6 アップグレード!+ DSD再生情報
コメント
コメントを投稿