Ubuntu【20.04 勉強中6】kworkerがCPU使用率を上げてる?
頻発するフリーズ原因を探してる内に見つけた記事から、ウチも同じ現象になってないか確認してみた。
参考■
https://qiita.com/gooos/items/a97ae795f993c1adadb9
https://namachan10777.hatenablog.com/entry/2016/06/04/151459
$ grep . -r /sys/firmware/acpi/interrupts
(略)
/sys/firmware/acpi/interrupts/gpe_all: 196902
/sys/firmware/acpi/interrupts/gpe19: 0 invalid unmasked
/sys/firmware/acpi/interrupts/gpe1A: 0 invalid unmasked
/sys/firmware/acpi/interrupts/gpe09: 0 disabled unmasked
/sys/firmware/acpi/interrupts/gpe0A: 0 invalid unmasked
/sys/firmware/acpi/interrupts/gpe17: 196898 EN enabled unmasked
(略)
(※レイアウト崩れ失礼します…m(_ _;)m)
PC稼働時間で数値は上がりますが、他と比べると明らかにgpe17が突出してる。
停止には【$ sudo】が使えないので【#(root)】で操作。
$ sudo su
# echo disable > /sys/firmware/acpi/interrupts/gpe17
※root権限(#)は「# exit」で終了します。
再起動すると元に戻ってしまうので、更に自動化設定します。
-----
#!/usr/bin/bash
echo disable > /sys/firmware/acpi/interrupts/gpe17
-----
テキストエディターに上記のシェルスクリプトを書き、chmodで実行可能にします。
シェルスクリプト→参考■https://eng-entrance.com/linux-shellscript-do
chmod →参考■https://eng-entrance.com/linux-command-chmod
私はchmodを使い熟せそうにないので、ファイルのプロパティから「プログラムとして実行可能」にチェックを入れて対処しました。(-_-;)
※ちなみに、拡張子はつけてません…。つける場合は「.sh」のようですね。
※参考記事だと「bash→zsh」になってたけど、シェルスクリプトの作り方見るとbashだったのでbashにしてみた。
(追記)
bashの方が古くから使われ、近年はzshが人気だそうです。ただ、私はシェルスクリプト初心者であり、無難なbashにしてみたということです。
※bashとzshの違い↓
参考■
https://qiita.com/umasoya/items/826d757a7d4353a1e259
http://nihon2.com/bash%E3%80%81zsh%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AElinux%E3%82%B7%E3%82%A7%E3%83%AB%E3%81%AE%E9%81%95%E3%81%84%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B
次に、シェルスクリプトファイルを移動します。
$ sudo mv disableGPE17 /usr/local/bin/
移動場所は必ずしもそこでなければ…ということではないらしい。参考記事に倣ってます。ファイル名もわかりやすければ何でもいいはず。
もう一つファイルを作成。
-----
[Unit]
Description = disable /sys/firmware/acpi/intterupts/gpe17
[Service]
#書いて配置したスクリプトに合わせてパスを変える
ExecStart = /usr/local/bin/disableGPE17
Type = simple
[Install]
#多分multi-user.targetで無くてもいい
WantedBy = multi-user.target
-----
上記のテキストを.serviceで保存。パス名は各自変更してください。
保存したファイルを/etc/systemd/system/に入れます。
$ sudo mv disableGPE.service /etc/systemd/system/
後は実行されるようにroot操作で設定します。
# systemctl daemon-reload
# systemctl enable disableGPE
再起動して「$ grep . -r /sys/firmware/acpi/interrupts」で確認し、gpe17がdisabledに変わっていれば成功。
停止・自動化しても「0」になるわけではなかったですが、サスペンドしつつ2~3日再起動してない状態でも数値500以下で抑えられています。
Ubuntu【20.04 勉強中5】キーマップ変更
最近フリーズ頻度が多くて、どうにか対処できないかググってます。
その際に以下の記事を発見↓
参考■https://forums.ubuntulinux.jp/viewtopic.php?id=20916
フリーズの原因は載っていませんが、多少の改善がされたようです。
キーボード設定でフリーズが治まるのがよくわかりませんが、治ったら御の字。
参考■https://mitsuyamaeda.blogspot.com/2018/04/xubuntu-on-vmware-workstation-pro.html
↑にほぼやり方が載っていたので、これを元に実行。
■現状の確認
$ localectl
System Locale: LANG=ja_JP.UTF-8
VC Keymap: n/a
X11 Layout: jp
X11 Model: pc105
$ localectl list-locales | grep -i ja
ja_JP.UTF-8
$ localectl list-keymaps
Failed to read list of keymaps: そのようなファイルやディレクトリはありません
list-keymapsが何故か使えないというね…。
でも設定変更はできるようなので無視します。
■キーマップ設定の変更(pc105→jp106)
$ sudo localectl set-keymap jp106
$ localectl
System Locale: LANG=ja_JP.UTF-8
VC Keymap: jp106
X11 Layout: jp
X11 Model: jp106
X11 Options: terminate:ctrl_alt_bksp
無事変更できました。これでしばらく様子見です。
※後日談
三日後にフリーズ発生。
一日に3回フリーズした時に比べるとマシですけどね。
個人的にフリーズの原因は、アプデDL(バックグラウンド)によるCPUビジーエラーじゃないかと疑ってる。
Ubuntu【20.04 勉強中4】Snap Store更新時間を変更
PC起動時に安定するまで「$ top」で状況を見てると、aptやapp、packageの他にsnapがしつこく上位に来ることがあります。
起動時外でもsnapが上位に来ることがあり、頻繁にアクセスしてるのではないかと気づきました。どうやらaptとsnapは別プロセスで、4時間毎に更新してるらしい…。
ググってみると、snapの更新時間を変更できるようです。
本家■https://snapcraft.io/blog/how-to-manage-snap-updates
参考■https://mekou.com/linux-magazine/snapsnappy-%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/
現状の更新設定を確認したところ、
$ snap refresh --time
timer: 00:00~24:00/4
last: today at 12:44 JST
next: today at 19:35 JST
24時間体制の4時間毎にチェックしてるようです。(7時間差じゃんとかのツッコミはなし。多分サスペンドとかの影響…?)
では、参考を元に変更します。
$ sudo snap set system refresh.timer=23:00
毎日23:00に更新チェックするように設定変更しました。
確認すると、きちんと設定変更されています。
$ snap refresh --time
timer: 23:00
last: today at 12:44 JST
next: today at 23:00 JST
元に戻すなら「=23:00」→「=00:00~24:00/4」に置き換え。
Ubuntu【20.04 勉強中3】動画がカクついたので・・・
Chromiumを使ってます。
YouTubeでとあるMVを見ようとしたら、どうも動きがぎこちない…。
18.04で見てた時は滑らかに再生されてたので、Wi-Fi問題ではない。
試しにFirefoxで再生すると、こちらは滑らか再生されました。
つまり、20.04のChromiumが問題…?
同様の問題がないかWeb検索したけど見つからない。
仕方ないので、Chromium(Chrome)の動画カクつきで調べました。
とりあえず見つけた記事を参考に「ハードウェア アクセラレーション」の設定をオフにしてみたら、無駄なカクつきが直りました。
参考■http://shksk.wp.xdomain.jp/post-2328/
結局、Chromiumの問題なのか、ウチのPCスペックの問題なのかははっきりしてませんが、動画再生が通常状態になったので良しとします。
Ubuntu【20.04 勉強中2】Unity Desktopとデータ引き継ぎ
前回の続き。
18.04にUnity入れた時とほぼ同じですが、微妙な違いもあります。
■Unity Desktopをインストール
$ sudo apt install ubuntu-unity-desktop
$ sudo apt install xserver-xorg-input-synaptics
$ sudo apt install unity-tweak-tool
18.04の時は「unity-session」でしたが、今回は「ubuntu-unity-desktop」です。
最初、unity-sessionで入れてみましたが、特にubuntu-unity-desktopとの違いがわかりませんでした(汗)
xserver-xorg-input-synapticsはUnity用のタッチパッドです。GNOME用は流用出来ないので必須。
Unity Tweak Toolは便利ツールなのでお好みで。
20.04にUnityを入れる際、ディスプレイマネージャーを変更する表示が出ます。
「lightdm」を選択しましょう。
(※もう一つを選んだらどうなるのかは、試してないのでわかりません)
参考■https://www.debugpoint.com/2020/05/install-unity-desktop-ubuntu-20-04/
■IPAフォントをインストール
$ sudo apt install ^fonts-ipa*
・IPAゴシック/明朝
・IPA Pゴシック/明朝
・IPA UIゴシック
・IPA X0208ゴシック/明朝
・IPA X0208 Pゴシック/明朝
・IPA X0208 UIゴシック
・IPAexゴシック/明朝
・IPAmj明朝
※「ipa*」だと↑全部が指定されるので、厳選したい場合は個別インストールしましょう。
参考■https://packages.ubuntu.com/search?suite=focal&keywords=ipa%20font
18.04と同様、システムフォントのデフォルトは「Notoフォント」です。
NotoだとUnityでのレイアウトが崩れるので、TakaoフォントかIPAフォントがオススメ。
18.04の時は「fonts-ipa*」でインストールできましたが、20.04では「^fonts-ipa*」になるようです。
■システムフォントについて
18.04では(GNOME)Tweak Toolを入れることで変更できたのですが、20.04では「設定」のフォントから変更できるようになりました。
ただ、あくまでGNOMEの機能なので、Unityの設定にはフォント変更機能は付いてません。
UnityでIPAフォントをシステムフォントにする方法は以下を参考に(18.04用だけど)。
参考■https://linuxfan.info/ubuntu-18-04-change-ja-font
簡単なのはUnity Tweak Toolでフォント指定する方法。
ただし、これは「$ fc-match」(fontconfig)では反映されないので、あくまで表面的な変更になります。
■データ引き継ぎについて
ここでのデータ引き継ぎは、Chromium(ブックマーク、パスワード)とThunderbird(アカウント)です。
▼Chromiumのブックマークインポート(HTML)
Chromiumのメニュー「︙」>ブックマーク>ブックマークマネージャー>管理「︙」>ブックマークをインポート
▼Chromiumの保存パスワードのインポート(CSV)
アドレスバーに「chrome://〜」をコピペして移動します。
chrome://flags/#PasswordImport
>Password import「Enabled」>RELAUNCH NOW(再起動)
この手間をかけないとインポートできません。
インポートが済んだ後、念の為設定を戻しておきました。早々パスワードの出し入れすることないですからね。
chrome://settings/passwords
>[︙](その他の操作)>インポート
エクスポートは↓
chrome://settings/passwords
>[︙](その他の操作)>エクスポート
参考■https://volx.jp/chrome-password-export-import
あくまでパスワードの記憶・自動入力であり、自動ログインではありません。
なので、各サイトに改めてログインする必要があります。
Thunderbirdを起動します。
アカウント作成を促されますが、キャンセルして閉じます。
これは、一度起動しないと引き継ぎファイルを入れる場所がないからです。
次に、ホームフォルダを開き、メニューで「隠しファイルを表示させる」にチェックを入れたら、データ引き継ぎを始めます。
バックアップしておいた「(ランダム英数字).default-release」を「~/.thunderbird/」にコピペします。
中身はこんな感じ↓
~/.thunderbird/
┣ Crash Reports
┣ Pending Pings
┣ (ランダム英数字).default-release ←コピペしたもの
┣ (ランダム英数字②).default-release
┣ (ランダム英数字①).default
┣ installs.ini
┗ profiles.ini
次に、「profiles.ini」をテキストエディターで開き、編集します。
-----
[Profile1]
Name=default
IsRelative=1
Path=(ランダム英数字①).default
Default=1
[Install(ランダム英数字③)]
Default=(ランダム英数字②).default-release
Locked=1
[Profile0]
Name=default-release
IsRelative=1
Path=(ランダム英数字②).default-release
[General]
StartWithLastProfile=1
Version=2
-----
この「(ランダム英数字②).default-release」を「(ランダム英数字).default-release」に変更保存します。
「(ランダム英数字①).default」は変更しません。
profiles.iniを変えたくない場合は、旧フォルダの中身を新フォルダに上書きするのでもOK。