27 Ryzen環境安定化へ

前回のASLR無効化以降落ち着いてきたと思ったら、またフリーズが起きてしまいました。
PRIME X370-PRO BIOS 3404から3803 アップデートでAGESA 1.0.0.0aに到達 - My Memo & News Bookmark
そろそろ腰を落ち着けて対処しようかと検索かけたらあっさり発見。去年の12月くらいにはまとまってたのね。
AMD Ryzen 向け一部マザーボードでは UEFI から C6 ステートを disabled にできない件

  • rcu_nocbs=0-15

http://textandhubris.com/2017/12/09/ryzen-issues-on-fedora-27/
kernel configで有効化したあとビルド、GRUBブートオプションを指定するこのやり方。書いてあるとおりFedora27ではデフォルトで有効になっていました。あとはブートオプション追加のみ

GRUB_CMDLINE_LINUX="vga=0x31a rcu_nocbs=0-15"

GitHub - r4m0n/ZenStates-Linux: Dynamically edit AMD Ryzen processor P-States
Ryzen freezes - possible solution related to C6 state - Hardware - Manjaro Linux Forum
PRIME X370-PROのUEFI設定をざっとみたけどC6の無効化はわからず。とりあえず確認すると
python zenstates.py -l

P0 - Enabled - FID = 90 - DID = 8 - VID = 20 - Ratio = 36.00 - vCore = 1.35000
P1 - Enabled - FID = 80 - DID = 8 - VID = 2C - Ratio = 32.00 - vCore = 1.27500
P2 - Enabled - FID = 84 - DID = C - VID = 68 - Ratio = 22.00 - vCore = 0.90000
P3 - Disabled
P4 - Disabled
P5 - Disabled
P6 - Disabled
P7 - Disabled
C6 State - Package - Enabled
C6 State - Core - Enabled

試しに無効化
python zenstates.py --c6-disable
python zenstates.py -l

P0 - Enabled - FID = 90 - DID = 8 - VID = 20 - Ratio = 36.00 - vCore = 1.35000
P1 - Enabled - FID = 80 - DID = 8 - VID = 2C - Ratio = 32.00 - vCore = 1.27500
P2 - Enabled - FID = 84 - DID = C - VID = 68 - Ratio = 22.00 - vCore = 0.90000
P3 - Disabled
P4 - Disabled
P5 - Disabled
P6 - Disabled
P7 - Disabled
C6 State - Package - Disabled
C6 State - Core - Disabled

というわけで、上のやり方の通り/etc/systemd/system/zenstates.service、/usr/local/bin/disable_c6を作成、/usr/local/bin/にzenstates.pyをコピーしてパーミッションを775あたりに設定。
systemctl enable zenstates.service
として起動時から有効化させた。
ASLR 0(デフォルトだった)、rcu_nocbs=0-15、C6無効化でしばらくやってみる

  • 5/5時点の状況 追記

GWで時間があったので負荷かけたり、3hぐらい低負荷状態でつけっぱにして調子を見ていますが今のところフリーズ現象おこっていないです。こりゃいけるのでは????

  • meihong氏のご指摘 rcu_nocbs=0-15を外してみる
結果 C6無効化 rcu_nocbs ASLR
OK あり あり 0
ノートラブル更新中 あり なし 0