「RaspberryPiで新型コロナウイルスの解析」の版間の差分

(Netdata)
 
2行目: 2行目:
 
|__TOC__
 
|__TOC__
 
|}
 
|}
 +
新型コロナウイルスの解析プロジェクトに参加してみます。
  
<span style="color:red;font-size:22px;">調査中</span>
+
[http://dz.plala.jp/iot-monitor/ Status Monitor COVID-19]
  
Folding@home<br />
+
[[ファイル:Iot-monitor02.png|240px|border|link=]]
https://foldingathome.org/<br />
+
https://github.com/FoldingAtHome
+
  
Rosetta@home<br />
+
=='''具合'''==
https://boinc.bakerlab.org/<br />
+
COVID-19-01 Rosetta@home 3B+<br />
https://github.com/rosetta-home
+
COVID-19-02 Rosetta@home 3B<br />
 +
COVID-19-03 Rosetta@home 3B<br />
 +
COVID-19-04 World Community Grid 2B<br />
 +
COVID-19-05 World Community Grid Zero<br />
 +
COVID-19-06 World Community Grid Zero<br />
 +
COVID-19-00 Netdata Master 2B
  
最新情報<br />
+
WCG移行スケジュール<br />
https://foldingathome.org/news/<br />
+
https://www.worldcommunitygrid.org/<br />
https://www.ipd.uw.edu/news/
+
統計に動きがあるまで休止<br />
 +
https://www.worldcommunitygrid.org/stat/viewGlobal.do
  
対応状況
+
メモ<br />
* Folding@homeはARMプロセッサに未対応
+
2022.06現在のNetdataのUpdateドキュメント<br />
* RPiのBOINCのRosetta@homeはARMプロセッサに未対応
+
https://github.com/netdata/netdata/blob/master/packaging/installer/UPDATE.md
Rosetta@home:Notice from server
+
このプロジェクトは次に示すプラットフォームをサポートしていません:arm-unknown-linux-gnueabihf
+
  
https://boinc.berkeley.edu/projects.php<br />
+
=='''環境'''==
https://twitter.com/rosettaathome/status/1242568242914185216
+
以降、"Raspberry Pi OS"は"Pi OS"と表記
 +
{| class="wikitable" style="width:480px;"
 +
| style="padding-left:10px;padding-right:10px;"| モデル
 +
| style="padding-left:10px;padding-right:10px;"| Raspberry Pi 全種
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| OS
 +
| style="padding-left:10px;padding-right:10px;" | Pi OS Lite (32bit) 2020-08-20<br />Pi OS Lite (arm64) 2020-08-20
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| ストレージ
 +
| style="padding-left:10px;padding-right:10px;" | microSDHC 16GB CLASS10
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| 熱対策
 +
| style="padding-left:10px;padding-right:10px;" | [https://www.monotaro.com/g/00363680/?t.q=%83q%81%5B%83g%83V%83%93%83N ヒートシンク 40×40×25]<br />[https://www.monotaro.com/g/03398037/ 銅サイコロ 20×20×20 ]<br />[https://www.monotaro.com/g/03484491/ 熱伝導性両面テープ 0.6W/m・K 200x300]
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| リモート操作
 +
| style="padding-left:10px;padding-right:10px;" | Windows10, SSH
 +
|}
  
Rosetta@homeの更新を待つと参加できるかも
+
=='''調査'''==
 +
===Folding@home===
 +
[https://ja.wikipedia.org/wiki/Folding@home Folding@home - Wikipedia]<br />
 +
[https://foldingathome.org/support/faq/installation-guides/linux/manual-installation-advanced/ Manual installation (advanced) - Folding@home]<br />
 +
ワシントン大学
  
 +
===Rosetta@home===
 +
[https://ja.wikipedia.org/wiki/Rosetta@home Rosetta@home - Wikipedia]<br />
 +
[https://www.reddit.com/r/BOINC/comments/g0r0wa/running_rosetta_covid19_workunits_on_raspberry_pi/ Running Rosetta (COVID-19 workunits) on Raspberry Pi 3B+ ... - reddit.com]<br />
 +
[https://pastebin.com/jCqJDp7N Raspberry Pi 3 Model BとRaspbian Buster LiteでRosetta@home - Pastebin.com]<br />
 +
ワシントン大学
 +
 +
===World Community Grid===
 +
[https://ja.wikipedia.org/wiki/World_Community_Grid World Community Grid - Wikipedia]<br />
 +
[https://www.raspberrypi.org/blog/ibm-world-community-grid/ Volunteer your Raspberry Pi to IBM&#039;s World Community Grid - Raspberry Pi]<br />
 +
クレンビル研究所
 +
 +
===TN-Grid===
 +
[https://gene.disi.unitn.it/test/ TN-Grid]<br />
 +
トレント大学
 +
 +
===SiDock@home===
 +
[https://www.sidock.si/sidock/ SiDock@home]<br />
 +
[https://gitlab.com/Jukic/cmdock/-/releases Releases · Marko / CmDock · GitLab]<br />
 +
ロシア科学アカデミー
 +
 +
===Rosetta@homeクローン===
 +
[https://foldforcovid.io/ Fold for Covid]<br />
 +
balena
 +
 +
===Forum===
 +
{| class="wikitable" style="width:600px;"
 +
| style="padding-left:10px;padding-right:10px;width:160px;"| Folding@home
 +
| style="padding-left:10px;padding-right:10px;"| https://foldingforum.org/
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| Rosetta@home
 +
| style="padding-left:10px;padding-right:10px;" | https://boinc.bakerlab.org/rosetta/forum_index.php
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| World Community Grid
 +
| style="padding-left:10px;padding-right:10px;" | https://www.worldcommunitygrid.org/forums/wcg/index
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| TN-Grid
 +
| style="padding-left:10px;padding-right:10px;" | https://gene.disi.unitn.it/test/forum_index.php
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| SiDock@home
 +
| style="padding-left:10px;padding-right:10px;" | https://www.sidock.si/sidock/forum_index.php
 +
|}
 +
 +
===Applications===
 +
{| class="wikitable" style="width:600px;"
 +
| style="padding-left:10px;padding-right:10px;width:160px;"| Folding@home
 +
| style="padding-left:10px;padding-right:10px;"| https://foldingathome.org/alternative-downloads/
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| Rosetta@home
 +
| style="padding-left:10px;padding-right:10px;" | https://boinc.bakerlab.org/rosetta/apps.php
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| World Community Grid
 +
| style="padding-left:10px;padding-right:10px;" | https://www.worldcommunitygrid.org/help/viewTopic.do?shortName=minimumreq
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| TN-Grid
 +
| style="padding-left:10px;padding-right:10px;" | https://gene.disi.unitn.it/test/apps.php
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| SiDock@home
 +
| style="padding-left:10px;padding-right:10px;" | https://www.sidock.si/sidock/apps.php
 +
|}
 +
 +
===Server Status===
 +
{| class="wikitable" style="width:600px;"
 +
| style="padding-left:10px;padding-right:10px;width:160px;"| Folding@home
 +
| style="padding-left:10px;padding-right:10px;"| https://foldingathome.org/statistics/
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| Rosetta@home
 +
| style="padding-left:10px;padding-right:10px;" | https://boinc.bakerlab.org/rosetta/server_status.php
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| World Community Grid
 +
| style="padding-left:10px;padding-right:10px;" | https://www.worldcommunitygrid.org/stat/viewGlobal.do
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| TN-Grid
 +
| style="padding-left:10px;padding-right:10px;" | https://gene.disi.unitn.it/test/server_status.php
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| SiDock@home
 +
| style="padding-left:10px;padding-right:10px;" | https://www.sidock.si/sidock/server_status.php
 +
|}
 +
統計 2021/12/04
 +
{| class="wikitable" style="width:480px;"
 +
| style="padding-left:10px;padding-right:10px;text-align:right;width:160px;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:right;"| Users
 +
| style="padding-left:10px;padding-right:10px;text-align:right;"| Computers
 +
|-
 +
| style="padding-left:10px;padding-right:10px;text-align:right;"| Folding@home
 +
| style="padding-left:10px;padding-right:10px;text-align:right;" |
 +
| style="padding-left:10px;padding-right:10px;text-align:right;" |
 +
|-
 +
| style="padding-left:10px;padding-right:10px;text-align:right;"| Rosetta@home
 +
| style="padding-left:10px;padding-right:10px;text-align:right;" | 1,369,617
 +
| style="padding-left:10px;padding-right:10px;text-align:right;" | 4,461,958
 +
|-
 +
| style="padding-left:10px;padding-right:10px;text-align:right;"| World Community Grid
 +
| style="padding-left:10px;padding-right:10px;text-align:right;" | 804,452
 +
| style="padding-left:10px;padding-right:10px;text-align:right;" | 7,583,455
 +
|-
 +
| style="padding-left:10px;padding-right:10px;text-align:right;"| TN-Grid
 +
| style="padding-left:10px;padding-right:10px;text-align:right;" | 2,929
 +
| style="padding-left:10px;padding-right:10px;text-align:right;" | 58,316
 +
|-
 +
| style="padding-left:10px;padding-right:10px;text-align:right;"| SiDock@home
 +
| style="padding-left:10px;padding-right:10px;text-align:right;" | 4,558
 +
| style="padding-left:10px;padding-right:10px;text-align:right;" | 20,228
 +
|}
 +
 +
===ARM非対応===
 +
[https://boinc.tacc.utexas.edu/ BOINC@TACC] テキサス大学<br />
 +
[https://www.gpugrid.net/ GPUGRID] ポンペウ・ファブラ大学<br />
 +
[https://ibercivis.es/project/proyecto-covid-phym/ COVID-PHYM] Ibercivis<br />
 +
[https://quarantine.infino.me/ Quarantine@Home] Aleph-1 Foundation
 
<!--
 
<!--
=='''環境'''==
+
===スクリーニング===
{| class="wikitable" style="width:420px;"
+
[https://www.nacalai.co.jp/Fount/chembridge_sars-cov-2covid-1915000.html ChemBridge社 SARS-CoV-2(COVID-19)に関連する15,000種類の化合物ライブラリー]<br />
| style="padding-left:10px;padding-right:10px;"| ボード
+
[http://www2d.biglobe.ne.jp/~chem_env/COVID-19/ 新型コロナウイルス(SARS-CoV-2|COVID-19)情報]
| style="padding-left:10px;padding-right:10px;"| Raspberry Pi 2 Model B
+
-->
 +
 
 +
=='''動作環境'''==
 +
[https://ja.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi - Wikipedia]
 +
 
 +
===プラットフォーム===
 +
Folding@home … FAH<br />
 +
Rosetta@home … BOINC<br />
 +
World Community Grid … BOINC<br />
 +
TN-Grid … BOINC<br />
 +
SiDock@home … BOINC
 +
 
 +
===必要なCPU===
 +
Folding@home … ARMv8 (64bit)<br />
 +
Rosetta@home … ARMv8 (64bit)<br />
 +
World Community Grid … 制限無し<br />
 +
TN-Grid … 制限無し<br />
 +
SiDock@home … 制限無し
 +
 
 +
===必要なメモリ===
 +
Folding@home … 512MB<br />
 +
Rosetta@home … 1000MB程度~<br />
 +
World Community Grid … 250MB程度<br />
 +
TN-Grid … 70MB程度<br />
 +
SiDock@home … ?
 +
 
 +
===多分動くモデル===
 +
{| class="wikitable" style="width:680px;"
 +
| style="padding-left:10px;padding-right:10px;text-align:right;width:160px;"|  
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 1A
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 1A+
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 3A+
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 1B
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 1B+
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 2B
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 3B
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 3B+
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 4B
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| Zero
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| Zero2
 
|-
 
|-
| style="padding-left:10px;padding-right:10px;"| OS
+
| style="padding-left:10px;padding-right:10px;text-align:right;"| CPU ARMv
| style="padding-left:10px;padding-right:10px;" | Raspbian Stretch with desktop 2018-11-13
+
| style="padding-left:10px;padding-right:10px;text-align:center;"| 6
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 6
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 8
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 6
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 6
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 7,8
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 8
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 8
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 8
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 6
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 8
 +
|-
 +
| style="padding-left:10px;padding-right:10px;text-align:right;"| Folding@home
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| △
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| △
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| △
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| △
 +
|-
 +
| style="padding-left:10px;padding-right:10px;text-align:right;"| Rosetta@home
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 
|-
 
|-
| style="padding-left:10px;padding-right:10px;"| microSD
+
| style="padding-left:10px;padding-right:10px;text-align:right;"| World Community Grid
| style="padding-left:10px;padding-right:10px;" | SanDisk Ultra microSDHC Class10  8GB
+
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 
|-
 
|-
| style="padding-left:10px;padding-right:10px;"| LAN
+
| style="padding-left:10px;padding-right:10px;text-align:right;"| TN-Grid
| style="padding-left:10px;padding-right:10px;" | 標準搭載のLAN
+
| style="padding-left:10px;padding-right:10px;text-align:center;"| △
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| △
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| △
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| △
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| △
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| △
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 
|-
 
|-
| style="padding-left:10px;padding-right:10px;"| 作業補助
+
| style="padding-left:10px;padding-right:10px;text-align:right;"| SiDock@home
| style="padding-left:10px;padding-right:10px;" | モニター マウス キーボード
+
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"| 〇
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|
 +
| style="padding-left:10px;padding-right:10px;text-align:center;"|  
 
|}
 
|}
  
=='''具合'''==
+
: タイムアウトするかも
* リソースの具合 [http://dz.plala.jp/iot-monitor/ IoT Monitor 別窓]
+
* オーバークロックは計算中に異常が発生してるように見えるので「無し(900MHz)」に設定
+
* GPUは対応してない様子 メモリ割り当てをデフォルト値「64」に設定
+
  
=='''OSの準備'''==
+
===多分動くOS===
http://downloads.raspberrypi.org/raspbian/images/raspbian-2018-11-15/2018-11-13-raspbian-stretch.zip
+
Folding@home … Pi OS Lite (arm64)<br />
 +
Rosetta@home … Pi OS Lite (arm64) または Pi OS Lite (32bit) + 64bitカーネル設定<br />
 +
World Community Grid … 制限無し<br />
 +
TN-Grid … 制限無し<br />
 +
SiDock@home … Pi4: Pi OS Lite (32bit) Buster, Pi3: Pi OS Lite (32bit) Stretch
  
=='''IP固定'''==
+
===CPU温度の限界点===
<syntaxhighlight lang="bash">
+
70°C~ … ソフト温度制限 (3A+, 3B+のみ, 最高設定)<br />
$ sudo nano /etc/dhcpcd.conf
+
80°C~ … サーマルスロットリング<br />
</syntaxhighlight>
+
85°C~ … CPU, GPU停止
  
末尾に追記 ローカルネットワーク環境にあわせる
+
=='''Pi OS'''==
 +
Raspberry PiをSSHリモート操作環境にする
  
<syntaxhighlight lang="bash">
+
===mDNS===
interface eth0
+
Windows10使用<br />
static ip_address=192.168.1.186/24
+
[https://www.apple.com/jp/itunes/ iTunes - Apple(日本)]<br />
static routers=192.168.1.1
+
ほかのバージョンをお探しですか? > Windows > ダウンロード<br />
static domain_name_servers=192.168.1.1
+
WinRARでiTunes64Setup.exeからBonjour64.msiを取り出し<br />
</syntaxhighlight>
+
インストール
保存: Ctrl + o > リターン<br />
+
終了: Ctrl + x
+
  
再起動
+
===SSHクライアント===
<syntaxhighlight lang="bash">
+
Windows10 Tera Term使用<br />
$ sudo reboot
+
https://forest.watch.impress.co.jp/library/software/utf8teraterm/<br />
</syntaxhighlight>
+
インストール
  
=='''遠隔操作'''==
+
===OSインストール===
運用にモニター、マウス、キーボードは必要ないので遠隔操作に<br />
+
[https://www.raspberrypi.org/software/ Raspberry Pi Imager]
標準で入っているRealVNCを使用
+
Pi OS Lite (arm64) の場合イメージが無いのでダウンロード<br />
 +
[https://downloads.raspberrypi.org/raspios_lite_arm64/images/ Index of /raspios_lite_arm64/images]
 +
Raspberry Pi Imager > Use customでイメージを選択し焼き込み
  
VNC有効
+
ヘッドレスセットアップ<br />
Menu > 設定 > Raspberry Piの設定 > インターフェイスタブ > VNC有効 > OK
+
[https://www.google.com/search?q=%E3%83%98%E3%83%83%E3%83%89%E3%83%AC%E3%82%B9%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97 ヘッドレスセットアップ - Google 検索]<br />
 +
[https://www.google.com/search?q=%E3%83%98%E3%83%83%E3%83%89%E3%83%AC%E3%82%B9%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97+A%2B ヘッドレスセットアップ A+ - Google 検索]
  
解像度の変更
+
  root(boot)ディレクトリにssh空ファイル作成
  Menu > 設定 > Raspberry Piの設定 > システムタブ > 解像度 > 1280x1024程度
+
  
シャットダウンし、モニター、マウス、キーボードを取り外して電源入れ直し<br />
+
電源ON<br />
WindowsPCなどのVNCクライアントから接続を試す<br />
+
SSH接続
成功していれば、以降はVNCクライアントの窓の中で作業可
+
ホスト: raspberrypi.local
 +
ユーザ名: pi
 +
パスフレーズ: raspberry
  
=='''インストール'''==
+
確認
参考: [https://boinc.berkeley.edu/wiki/Installing_BOINC Installing BOINC - BOINC]
+
$ more /proc/device-tree/model | sed "s/$/\n/";getconf LONG_BIT | sed "s/^/os: /" | sed "s/$/bit/";arch | sed "s/^/kernel: /"
$ sudo apt-get update
+
$ sudo apt-get upgrade
+
$ sudo apt-get install boinc-client boinc-manager
+
$ sudo service boinc-client start
+
  
再起動
+
Raspberry Pi 3 Model B Plus Rev 1.3<br />
 +
os: 32bit<br />
 +
kernel: aarch64
 +
 
 +
===64bitカーネル===
 +
<span style="color: red">Pi OS Lite (32bit) + 64bitカーネル設定 の場合</span><br />
 +
ARMv8 (64bit)のみ設定可
 +
$ sudo nano /boot/config.txt
 +
末尾に追記
 +
arm_64bit=1
 +
gpu_mem=16
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 
  $ sudo reboot
 
  $ sudo reboot
  
=='''設定'''==
+
===expand===
  Menu > システムツール > BOINC Manager起動
+
  $ sudo raspi-config
初めて起動する場合、「プロジェクトを選択してください」窓が出る<br />
+
Advanced Options > Expand Filesystem > <Ok> > tab > <Finish> > reboot<Yes>
もう一度表示は、「ツール > プロジェクトを追加」ボタンで再度表示<br />
+
Rosetta@homeを選択 > 次へ
+
  
[[ファイル:BOINC08.jpg|450px|border]]<br />
+
===locale===
 +
$ sudo raspi-config
 +
Localisation Options > Change Locale >
 +
[*] en_GB.UTF-8 UTF-8
 +
[*] ja_JP.UTF-8 UTF-8 > スペースキー
 +
> tab > <Ok> > ja_JP.UTF-8 リターン > tab > <Finish>
 +
$ sudo reboot
  
メールアドレス、パスワードを入力 > 次へ<br />
+
===timezone===
タスクの確認で必要なのでメモ<br />
+
$ sudo raspi-config
[[ファイル:BOINC03.jpg|450px|border]]<br />
+
Localisation Options > Change Time Zone > アジア > 東京 > tab > <Finish>
 +
$ sudo reboot
  
表示 > 詳細表示で切り替え<br />
+
===hostname===
アクティビティ > 常時稼働 に変更<br />
+
$ sudo raspi-config
アクティビティ > ネットワーク活動を常に許可 に変更
+
Network Options > Hostname > <了解>
 +
変更
 +
covid-19-01
  
[[ファイル:BOINC05.jpg|450px|border]]<br />
+
tab > <了解> > tab > <Finish> > <はい>
  
CPU使用量が100%で動いてしまいインターフェース操作がもたつく<br />
+
SSH接続
CPU使用量を調整
+
ホスト: covid-19-01.local
 +
ユーザ名: pi
 +
パスフレーズ: raspberry
  
オプション > 計算に関するプレファレンス<br />
+
===timesyncd===
最大で75%のCPUコアまで 程度
+
設定
 +
$ sudo nano /etc/systemd/timesyncd.conf
  
[[ファイル:BOINC06.jpg|450px|border]]<br />
+
修正
 +
<pre>
 +
[Time]
 +
NTP=ntp.nict.jp
 +
#FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
 +
#RootDistanceMaxSec=5
 +
#PollIntervalMinSec=32
 +
#PollIntervalMaxSec=2048
 +
</pre>
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
  
再起動
+
起動
 +
$ sudo timedatectl set-ntp true
  
  $ sudo reboot
+
確認
 +
  $ timedatectl status
  
CPU使用量が80%程度で常時動いていれば成功
+
===upgrade===
 +
$ sudo apt update
 +
$ sudo apt upgrade
 +
 
 +
===zram===
 +
$ sudo nano /usr/bin/zram.sh
 +
設定
 +
<pre>
 +
#!/bin/bash
 +
cores=$(nproc --all)
 +
modprobe zram num_devices=$cores
 +
swapoff -a
 +
totalmem=`free | grep -e "^Mem:" | awk '{print $2}'`
 +
mem=$(( ($totalmem * 2 / $cores)* 1024 ))
 +
modprobe deflate
 +
modprobe zlib
 +
modprobe lz4hc_compress
 +
core=0
 +
while [ $core -lt $cores ]; do
 +
  echo deflate > /sys/block/zram$core/comp_algorithm ||
 +
  echo zlib > /sys/block/zram$core/comp_algorithm ||
 +
  echo lz4hc > /sys/block/zram$core/comp_algorithm ||
 +
  echo lz4 > /sys/block/zram$core/comp_algorithm
 +
# not sure which one this kernel has
 +
  echo $mem > /sys/block/zram$core/disksize
 +
  mkswap /dev/zram$core
 +
  swapon --discard -p 5 /dev/zram$core # reclaim memory better
 +
  let core=core+1
 +
done
 +
</pre>
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 +
$ sudo chmod +x /usr/bin/zram.sh
 +
$ sudo nano /etc/rc.local
 +
末尾のexit 0手前に追記
 +
/usr/bin/zram.sh &
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
$ sudo reboot
 +
確認
 +
$ zramctl
  
=='''延命対策(省略可)'''==
 
 
===swap===
 
===swap===
無効化<br />
+
$ sudo nano /etc/dphys-swapfile
Stretchの場合
+
変更
  $ sudo dphys-swapfile swapoff
+
#CONF_SWAPSIZE=100
 +
CONF_SWAPSIZE=2048
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 +
  $ sudo systemctl start dphys-swapfile
 +
$ sudo systemctl enable dphys-swapfile
 +
$ sudo reboot
 +
確認
 +
$ sudo swapon --show
 +
サービスは動いてるけどswapが無い<br />
 +
確認
 +
$ systemctl list-unit-files --type=service
 +
終了: Ctrl + c<br />
 +
rc.localで起動してみる<br />
 +
設定
 
  $ sudo systemctl stop dphys-swapfile
 
  $ sudo systemctl stop dphys-swapfile
 
  $ sudo systemctl disable dphys-swapfile
 
  $ sudo systemctl disable dphys-swapfile
 +
$ sudo nano /etc/rc.local
 +
zramの下に追記
 +
/usr/bin/zram.sh &
 +
systemctl start dphys-swapfile
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
$ sudo reboot
 +
確認
 +
$ sudo swapon --show
  
===fstab===
+
===service===
設定
+
$ sudo systemctl stop rsyslog
  $ sudo nano /etc/fstab
+
  $ sudo systemctl disable rsyslog
nodiratime追記と末尾に追記<br />
+
 
参考: [https://wiki.archlinux.jp/index.php/Fstab#atime_.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3 fstab - ArchWiki atime オプション]
+
$ sudo systemctl stop hciuart bluetooth
  PARTUUID=5ee44bf0-02 /              ext4    defaults,noatime,nodiratime  0      1
+
$ sudo systemctl disable hciuart bluetooth
  tmpfs    /tmp                              tmpfs    defaults,noatime,nodiratime,mode=1777  0      0
+
<!--
  tmpfs    /run/user/1000                    tmpfs    defaults,noatime,nodiratime,mode=1777  0      0
+
  $ sudo systemctl stop systemd-timesyncd systemd-timesync
  tmpfs    /home/pi/.cache/lxsession/LXDE-pi tmpfs    defaults,noatime,nodiratime,mode=1777 0      0
+
  $ sudo systemctl disable systemd-timesyncd systemd-timesync
保存: Ctrl + o リターン<br />
+
 
 +
  $ sudo systemctl stop cron.service
 +
  $ sudo systemctl disable cron.service
 +
-->
 +
 
 +
===journald===
 +
  $ sudo nano /etc/systemd/journald.conf
 +
末尾に追記
 +
  Storage=none
 +
保存: Ctrl + o > リターン<br />
 
終了: Ctrl + x
 
終了: Ctrl + x
 +
 +
===overclocking===
 +
[https://github.com/RealVNC/raspi-documentation/blob/master/configuration/config-txt/overclocking.md raspi-documentation/overclocking.md at master · RealVNC/raspi-documentation · GitHub]
 +
$ sudo nano /boot/config.txt
 +
末尾に追記<br />
 +
Zero のみ (変化ない?)
 +
arm_freq = 1100
 +
over_voltage = 8
 +
sdram_freq = 500
 +
sdram_over_voltage = 2
 +
force_turbo = 1
 +
boot_delay = 1
 +
1B+ のみ
 +
arm_freq=1000
 +
core_freq=500
 +
sdram_freq=600
 +
over_voltage=6
 +
2B のみ
 +
arm_freq=1000
 +
core_freq=500
 +
sdram_freq=500
 +
over_voltage=2
 +
3B のみ
 +
arm_freq=1350
 +
core_freq=500
 +
over_voltage=4
 +
3B+ のみ
 +
temp_soft_limit=70
 +
4B のみ
 +
over_voltage=2
 +
arm_freq=1750
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 +
$ sudo reboot
 +
確認
 +
$ vcgencmd get_config arm_freq
 +
 +
=='''Folding@home'''==
 +
==='''FAHClient'''===
 +
[https://foldingathome.org/support/faq/points/passkey/ Passkey - Folding@home]
 +
Username: GGGGGG
 +
Passkey: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
 +
Passkeyメールが届く
 +
 +
インストール<br />
 +
[https://foldingathome.org/alternative-downloads/ Alternative Downloads - Folding@home]
 +
<pre>
 +
$ wget https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-arm64/v7.6/fahclient_7.6.21_arm64.deb
 +
$ sudo dpkg -i fahclient_7.6.21_arm64.deb
 +
</pre>
 +
 +
fahclientを設定しています<br />
 +
Folding@home User Name: Anonymous <tab> <OK><br />
 +
Folding@home Team Number: 0 <tab> <OK><br />
 +
Folding@home Passkey: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF <tab> <OK><br />
 +
light or medium or full: full <リターン><br />
 +
Should FAHClient be automatically started?: <OK>
 +
 +
 +
設定
 +
$ sudo nano /etc/fahclient/config.xml
 +
 +
 +
設定<br />
 +
192.168.1.0/24 はプライベートIPアドレス
 +
<pre>
 +
<config>
 +
  <!-- Client Control -->
 +
  <fold-anon v='true'/>
 +
 +
  <!-- Folding Slot Configuration -->
 +
  <cause v='COVID_19'/>
 +
  <gpu v='false'/>
 +
 +
  <!-- HTTP Server -->
 +
  <allow v='127.0.0.1 192.168.1.0/24'/>
 +
 +
  <!-- Network -->
 +
  <proxy v=':8080'/>
 +
 +
  <!-- Remote Command Server -->
 +
  <command-allow-no-pass v='127.0.0.1 192.168.1.0/24'/>
 +
 +
  <!-- Slot Control -->
 +
  <power v='full'/>
 +
 +
  <!-- User Information -->
 +
  <passkey v='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'/>
 +
 +
  <!-- Web Server -->
 +
  <web-allow v='127.0.0.1 192.168.1.0/24'/>
 +
 +
  <!-- Folding Slots -->
 +
  <slot id='0' type='CPU'/>
 +
</config>
 +
</pre>
  
 
再起動
 
再起動
156行目: 594行目:
  
 
確認
 
確認
  $ df -h
+
  $ htop
 +
終了: Ctrl + c
 +
 
 +
CPU温度
 +
$ while true; do vcgencmd measure_temp; sleep 1s; done
 +
終了: Ctrl + c
 +
 
 +
==='''FAHControl'''===
 +
[https://foldingathome.org/alternative-downloads/ Alternative Downloads - Folding@home]<br />
 +
Windows10使用 <br />
 +
スタートメニュー > Folding@home > FAHControl
 +
 
 +
[[ファイル:FAHControl_covid-19.jpg|480px|border|link=]]
 +
 
 +
FAHControl > 左下: Clients +Add > Connection<br />
 +
設定
 +
<pre>
 +
Name: COVID-19
 +
Hostname or IP: covid-19-01.local
 +
Port: 36330
 +
</pre>
 +
 
 +
WEB CONTROL<br />
 +
http://covid-19-01.local:7396
 +
 
 +
[[ファイル:FAHClient_covid-19.jpg|480px|border|link=]]
 +
 
 +
=='''Rosetta@home'''==
 +
インストール
 +
$ sudo apt install boinc-client boinctui
 +
$ sudo nano /var/lib/boinc-client/cc_config.xml
 +
設定
 +
<pre>
 +
<cc_config>
 +
  <log_flags>
 +
    <task>1</task>
 +
    <file_xfer>1</file_xfer>
 +
    <sched_ops>1</sched_ops>
 +
  </log_flags>
 +
  <options>
 +
    <alt_platform>aarch64-unknown-linux-gnu</alt_platform>
 +
    <allow_remote_gui_rpc>1</allow_remote_gui_rpc>
 +
  </options>
 +
</cc_config>
 +
</pre>
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
$ sudo nano /var/lib/boinc-client/global_prefs_override.xml
 +
 
 +
設定
 +
 
 +
<pre>
 +
<!--
 +
This configuration file global_prefs_override.xml for the BOINC core client
 +
can be used to override global preferences locally. For a complete list of
 +
all preferences which can be overridden see:
 +
http://boinc.berkeley.edu/trac/wiki/PrefsOverride
 +
-->
 +
<global_preferences>
 +
    <run_on_batteries>1</run_on_batteries>
 +
    <run_if_user_active>1</run_if_user_active>
 +
    <run_gpu_if_user_active>1</run_gpu_if_user_active>
 +
    <suspend_cpu_usage>0.000000</suspend_cpu_usage>
 +
    <leave_apps_in_memory>0</leave_apps_in_memory>
 +
    <confirm_before_connecting>0</confirm_before_connecting>
 +
    <hangup_if_dialed>0</hangup_if_dialed>
 +
    <dont_verify_images>0</dont_verify_images>
 +
    <work_buf_min_days>2.000000</work_buf_min_days>
 +
    <work_buf_additional_days>0.200000</work_buf_additional_days>
 +
    <max_ncpus_pct>50.000000</max_ncpus_pct>
 +
    <cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
 +
    <disk_interval>60.000000</disk_interval>
 +
    <disk_max_used_gb>100.000000</disk_max_used_gb>
 +
    <disk_max_used_pct>100.000000</disk_max_used_pct>
 +
    <disk_min_free_gb>0.100000</disk_min_free_gb>
 +
    <vm_max_used_pct>90.000000</vm_max_used_pct>
 +
    <ram_max_used_busy_pct>400.000000</ram_max_used_busy_pct>
 +
    <ram_max_used_idle_pct>400.000000</ram_max_used_idle_pct>
 +
    <cpu_usage_limit>100.000000</cpu_usage_limit>
 +
</global_preferences>
 +
</pre>
 +
 
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
$ sudo nano /etc/boinc-client/gui_rpc_auth.cfg
 +
適当なパスワードを平文で書く AAAAAAAAA<br />
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 +
$ sudo reboot
 +
 
 +
アカウント<br />
 +
[http://boinc.bakerlab.org/rosetta/ Rosetta@home]<br />
 +
Join Rosetta@home > Sign Up > アカウントを作成する
 +
名前: GGGGGG
 +
Eメール: BBB@BBB.BBB
 +
パスワード: CCCCCCCCC
 +
 
 +
アカウント・キーの確認<br />
 +
[https://boinc.bakerlab.org/rosetta/weak_auth.php アカウント・キー]
 +
アカウント・キー: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 +
 
 +
設定
 +
<pre>
 +
$ boinccmd --passwd AAAAAAAAA --project_attach https://boinc.bakerlab.org/rosetta/ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 +
</pre>
  
===systemctl===
 
 
確認
 
確認
  $ systemctl list-unit-files -t service|grep enabled
+
  $ htop
 +
終了: Ctrl + c
 +
$ boinctui
 +
host 127.0.0.1
 +
port 31416
 +
pwd AAAAAAAAA
  
rsyslog停止
+
[[ファイル:rosettahome_covid-19.jpg|480px|border|link=]]
$ sudo systemctl stop rsyslog.service
+
$ sudo systemctl disable rsyslog.service
+
戻すなら
+
$ sudo systemctl enable rsyslog.service
+
  
bluetooth停止
+
boinctuiメモ
$ sudo systemctl stop hciuart.service
+
<pre>
$ sudo systemctl stop bluetooth.service
+
Projects > Rosetta@home >
$ sudo systemctl disable hciuart.service
+
Update project: プロジェクトの更新
$ sudo systemctl disable bluetooth.service
+
Suspend project: プロジェクトの一時停止
戻すなら
+
Resume project: プロジェクトの再開
$ sudo systemctl enable hciuart.service
+
No new tasks: 新しいタスクの取得中止
$ sudo systemctl enable bluetooth.service
+
Allow new tasks: 新しいタスクの取得許可
 +
Reset project: 現在のタスクの削除とプロジェクトの更新
 +
Detach project: プロジェクトのデタッチ
 +
</pre>
 +
<pre>
 +
Task >
 +
Suspend task: タスクの一時停止
 +
Resume task: タスクの再開
 +
Abort task: タスクの完全停止
 +
</pre>
  
再起動
+
Boinccmd メモ
 +
<pre>
 +
再読み込み 構成ファイル
 +
$ boinccmd --passwd AAAAAAAAA --read_cc_config
 +
再読み込み グローバル設定
 +
$ boinccmd --passwd AAAAAAAAA --read_global_prefs_override
 +
</pre>
 +
<pre>
 +
プロジェクトを更新
 +
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ update
 +
プロジェクトを停止
 +
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ suspend
 +
プロジェクトを再開
 +
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ resume
 +
</pre>
 +
 
 +
CPU温度
 +
$ while true; do vcgencmd measure_temp; sleep 1s; done
 +
終了: Ctrl + c
 +
 
 +
=='''World Community Grid'''==
 +
インストール
 +
$ sudo apt install boinc-client boinctui
 +
$ sudo nano /var/lib/boinc-client/cc_config.xml
 +
設定
 +
<pre>
 +
<cc_config>
 +
  <log_flags>
 +
    <task>1</task>
 +
    <file_xfer>1</file_xfer>
 +
    <sched_ops>1</sched_ops>
 +
  </log_flags>
 +
  <options>
 +
    <alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
 +
    <allow_remote_gui_rpc>1</allow_remote_gui_rpc>
 +
  </options>
 +
</cc_config>
 +
</pre>
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
$ sudo nano /var/lib/boinc-client/global_prefs_override.xml
 +
 
 +
設定
 +
<pre>
 +
<!--
 +
This configuration file global_prefs_override.xml for the BOINC core client
 +
can be used to override global preferences locally. For a complete list of
 +
all preferences which can be overridden see:
 +
http://boinc.berkeley.edu/trac/wiki/PrefsOverride
 +
-->
 +
<global_preferences>
 +
  <run_on_batteries>1</run_on_batteries>
 +
  <run_if_user_active>1</run_if_user_active>
 +
  <run_gpu_if_user_active>1</run_gpu_if_user_active>
 +
  <suspend_cpu_usage>0.000000</suspend_cpu_usage>
 +
  <start_hour>0.000000</start_hour>
 +
  <end_hour>0.000000</end_hour>
 +
  <net_start_hour>0.000000</net_start_hour>
 +
  <net_end_hour>0.000000</net_end_hour>
 +
  <leave_apps_in_memory>0</leave_apps_in_memory>
 +
  <confirm_before_connecting>0</confirm_before_connecting>
 +
  <hangup_if_dialed>0</hangup_if_dialed>
 +
  <dont_verify_images>0</dont_verify_images>
 +
  <work_buf_min_days>2.000000</work_buf_min_days>
 +
  <work_buf_additional_days>0.200000</work_buf_additional_days>
 +
  <max_ncpus_pct>75.000000</max_ncpus_pct>
 +
  <cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
 +
  <disk_interval>300.000000</disk_interval>
 +
  <disk_max_used_gb>0.000000</disk_max_used_gb>
 +
  <disk_max_used_pct>100.000000</disk_max_used_pct>
 +
  <disk_min_free_gb>0.000000</disk_min_free_gb>
 +
  <vm_max_used_pct>90.000000</vm_max_used_pct>
 +
  <ram_max_used_busy_pct>100.000000</ram_max_used_busy_pct>
 +
  <ram_max_used_idle_pct>100.000000</ram_max_used_idle_pct>
 +
  <max_bytes_sec_up>0.000000</max_bytes_sec_up>
 +
  <max_bytes_sec_down>0.000000</max_bytes_sec_down>
 +
  <cpu_usage_limit>100.000000</cpu_usage_limit>
 +
  <daily_xfer_limit_mb>0.000000</daily_xfer_limit_mb>
 +
  <daily_xfer_period_days>0</daily_xfer_period_days>
 +
</global_preferences>
 +
</pre>
 +
 
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
$ sudo nano /etc/boinc-client/gui_rpc_auth.cfg
 +
適当なパスワードを平文で書く AAAAAAAAA<br />
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 
  $ sudo reboot
 
  $ sudo reboot
 +
 +
アカウント<br />
 +
[https://www.worldcommunitygrid.org/ World Community Grid - ホーム]
 +
いますぐ参加 > サインアップ
 +
電子メールアドレス: BBB@BBB.BBB
 +
パスワード: CCCCCCCCC
 +
プロジェクトを選択します > OpenPandemics-COVID-19
 +
以降適当に
 +
確認メールが届く
 +
 +
アカウント・キーの確認<br />
 +
[https://www.worldcommunitygrid.org/ms/viewMyProfile.do World Community Grid - マイ・プロファイル]
 +
アカウント・キー: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
 +
 +
設定
 +
 +
<pre>
 +
$ boinccmd --passwd AAAAAAAA --project_attach http://www.worldcommunitygrid.org EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
 +
</pre>
  
 
確認
 
確認
  $ systemctl list-unit-files -t service
+
  $ htop
  $ systemctl list-unit-files -t service|grep disabled
+
終了: Ctrl + c
 +
  $ boinctui
 +
host 127.0.0.1
 +
port 31416
 +
pwd AAAAAAAAA
  
===folder2ram===
+
[[ファイル:wcg_covid-19.jpg|480px|border|link=]]
RAMディスク化
+
  
参考: [https://github.com/bobafetthotmail/folder2ram GitHub - bobafetthotmail/folder2ram: mount those folders to ram without losing access to their counterpart on disk!]
+
boinctuiメモ
 +
<pre>
 +
Projects > World Community Grid >
 +
Update project: プロジェクトの更新
 +
Suspend project: プロジェクトの一時停止
 +
Resume project: プロジェクトの再開
 +
No new tasks: 新しいタスクの取得中止
 +
Allow new tasks: 新しいタスクの取得許可
 +
Reset project: 現在のタスクの削除とプロジェクトの更新
 +
Detach project: プロジェクトのデタッチ
 +
</pre>
 +
<pre>
 +
Task >
 +
Suspend task: タスクの一時停止
 +
Resume task: タスクの再開
 +
Abort task: タスクの完全停止
 +
</pre>
  
 +
Boinccmd メモ
 +
<pre>
 +
再読み込み 構成ファイル
 +
$ boinccmd --passwd AAAAAAAAA --read_cc_config
 +
再読み込み グローバル設定
 +
$ boinccmd --passwd AAAAAAAAA --read_global_prefs_override
 +
</pre>
 +
<pre>
 +
プロジェクトを更新
 +
$ boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org update
 +
プロジェクトを停止
 +
$ boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org suspend
 +
プロジェクトを再開
 +
$ boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org resume
 +
</pre>
 +
 +
CPU温度
 +
$ while true; do vcgencmd measure_temp; sleep 1s; done
 +
終了: Ctrl + c
 +
 +
=='''TN-Grid'''==
 
インストール
 
インストール
 +
$ sudo apt install boinc-client boinctui
 +
$ sudo nano /var/lib/boinc-client/cc_config.xml
 +
設定
 +
<pre>
 +
<cc_config>
 +
  <log_flags>
 +
    <task>1</task>
 +
    <file_xfer>1</file_xfer>
 +
    <sched_ops>1</sched_ops>
 +
  </log_flags>
 +
  <options>
 +
    <alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
 +
    <allow_remote_gui_rpc>1</allow_remote_gui_rpc>
 +
  </options>
 +
</cc_config>
 +
</pre>
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
$ sudo nano /var/lib/boinc-client/global_prefs_override.xml
 +
 +
設定
 +
<pre>
 +
<!--
 +
This configuration file global_prefs_override.xml for the BOINC core client
 +
can be used to override global preferences locally. For a complete list of
 +
all preferences which can be overridden see:
 +
http://boinc.berkeley.edu/trac/wiki/PrefsOverride
 +
-->
 +
<global_preferences>
 +
  <run_on_batteries>1</run_on_batteries>
 +
  <run_if_user_active>1</run_if_user_active>
 +
  <run_gpu_if_user_active>1</run_gpu_if_user_active>
 +
  <suspend_cpu_usage>0.000000</suspend_cpu_usage>
 +
  <start_hour>0.000000</start_hour>
 +
  <end_hour>0.000000</end_hour>
 +
  <net_start_hour>0.000000</net_start_hour>
 +
  <net_end_hour>0.000000</net_end_hour>
 +
  <leave_apps_in_memory>0</leave_apps_in_memory>
 +
  <confirm_before_connecting>0</confirm_before_connecting>
 +
  <hangup_if_dialed>0</hangup_if_dialed>
 +
  <dont_verify_images>0</dont_verify_images>
 +
  <work_buf_min_days>2.000000</work_buf_min_days>
 +
  <work_buf_additional_days>0.200000</work_buf_additional_days>
 +
  <max_ncpus_pct>75.000000</max_ncpus_pct>
 +
  <cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
 +
  <disk_interval>300.000000</disk_interval>
 +
  <disk_max_used_gb>0.000000</disk_max_used_gb>
 +
  <disk_max_used_pct>100.000000</disk_max_used_pct>
 +
  <disk_min_free_gb>0.000000</disk_min_free_gb>
 +
  <vm_max_used_pct>90.000000</vm_max_used_pct>
 +
  <ram_max_used_busy_pct>100.000000</ram_max_used_busy_pct>
 +
  <ram_max_used_idle_pct>100.000000</ram_max_used_idle_pct>
 +
  <max_bytes_sec_up>0.000000</max_bytes_sec_up>
 +
  <max_bytes_sec_down>0.000000</max_bytes_sec_down>
 +
  <cpu_usage_limit>100.000000</cpu_usage_limit>
 +
  <daily_xfer_limit_mb>0.000000</daily_xfer_limit_mb>
 +
  <daily_xfer_period_days>0</daily_xfer_period_days>
 +
</global_preferences>
 +
</pre>
 +
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
$ sudo nano /etc/boinc-client/gui_rpc_auth.cfg
 +
適当なパスワードを平文で書く AAAAAAAAA<br />
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 +
$ sudo reboot
 +
 +
アカウント<br />
 +
[https://gene.disi.unitn.it/test//create_account_form.php 新しいアカウントを作成]
 +
Invitation Code: science@tn
 +
名前: GGGGGG
 +
Eメール: BBB@BBB.BBB
 +
パスワード: CCCCCCCCC
 +
 +
アカウント・キーの確認<br />
 +
[http://gene.disi.unitn.it/test/weak_auth.php アカウント・キー]
 +
アカウント・キー: HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
 +
 +
設定
 +
<pre>
 +
$ boinccmd --passwd AAAAAAAAA --project_attach http://gene.disi.unitn.it/test/ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
 +
</pre>
 +
 +
確認
 +
$ htop
 +
終了: Ctrl + c
 +
$ boinctui
 +
host 127.0.0.1
 +
port 31416
 +
pwd AAAAAAAAA
 +
 +
boinctuiメモ
 +
<pre>
 +
Projects > TN-Grid Platform >
 +
Update project: プロジェクトの更新
 +
Suspend project: プロジェクトの一時停止
 +
Resume project: プロジェクトの再開
 +
No new tasks: 新しいタスクの取得中止
 +
Allow new tasks: 新しいタスクの取得許可
 +
Reset project: 現在のタスクの削除とプロジェクトの更新
 +
Detach project: プロジェクトのデタッチ
 +
</pre>
 +
<pre>
 +
Task >
 +
Suspend task: タスクの一時停止
 +
Resume task: タスクの再開
 +
Abort task: タスクの完全停止
 +
</pre>
 +
 +
Boinccmd メモ
 +
<pre>
 +
再読み込み 構成ファイル
 +
$ boinccmd --passwd AAAAAAAAA --read_cc_config
 +
再読み込み グローバル設定
 +
$ boinccmd --passwd AAAAAAAAA --read_global_prefs_override
 +
</pre>
 +
<pre>
 +
プロジェクトを更新
 +
$ boinccmd --passwd AAAAAAAAA --project http://gene.disi.unitn.it/test/ update
 +
プロジェクトを停止
 +
$ boinccmd --passwd AAAAAAAAA --project http://gene.disi.unitn.it/test/ suspend
 +
プロジェクトを再開
 +
$ boinccmd --passwd AAAAAAAAA --project http://gene.disi.unitn.it/test/ resume
 +
</pre>
 +
 +
CPU温度
 +
$ while true; do vcgencmd measure_temp; sleep 1s; done
 +
終了: Ctrl + c
 +
 +
=='''SiDock@home'''==
 +
[https://gitlab.com/Jukic/cmdock/-/releases Releases · Marko / CmDock · GitLab]<br />
 +
未確認
 +
 +
==<span id="cron">'''cron'''</span>==
 +
<span style="color: red">BOINCプラットフォームのみ</span>
 +
 +
設定
 +
$ crontab -e
 +
1. /bin/nano <---- easiest<br />
 +
2. /usr/bin/vim.tiny<br />
 +
3. /bin/ed<br />
 +
Choose 1-3 [1]:  > リターン<br />
 +
末尾に追記<br />
 +
Rosetta@home
 +
<pre>0 * * * * boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ update</pre>
 +
World Community Grid
 +
<pre>0 * * * * boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org update</pre>
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x <br />
 +
確認
 +
$ sudo /etc/init.d/cron restart
 +
$ sudo /etc/init.d/cron status
 +
 +
=='''延命化'''==
 +
===fstab===
 +
$ sudo nano /etc/fstab
 +
末尾に追記
 +
tmpfs    /tmp                              tmpfs    defaults,noatime,nodiratime,mode=1777  0      0
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 +
$ sudo reboot
 +
 +
確認
 +
$ df -h
 +
 +
===<span id="folder2ram">folder2ram</span>===
 +
[https://github.com/bobafetthotmail/folder2ram GitHub - bobafetthotmail/folder2ram]
 
<pre>
 
<pre>
 
$ sudo wget -O /sbin/folder2ram https://raw.githubusercontent.com/bobafetthotmail/folder2ram/master/debian_package/sbin/folder2ram
 
$ sudo wget -O /sbin/folder2ram https://raw.githubusercontent.com/bobafetthotmail/folder2ram/master/debian_package/sbin/folder2ram
 
$ sudo chmod +x /sbin/folder2ram
 
$ sudo chmod +x /sbin/folder2ram
 
$ sudo folder2ram -configure
 
$ sudo folder2ram -configure
will now open the configuration file with your favourite text editor
 
write its name and press enter (nano, vim, gedit are the most common)
 
 
リターン
 
リターン
 +
$ sudo nano /etc/folder2ram/folder2ram.conf
 +
</pre>
 +
 +
末尾に追記<br />
 +
<span style="color: red">/var/log 設定するとOS再起動後netdataが起動しない</span><br />
 +
<span style="color: red">/var/lib/boinc-client/slots ダメかも</span><br />
 +
<span style="color: red">boinc-client/slots BOINCプラットフォーム使用時</span>
 +
<pre>
 +
tmpfs /var/log
 +
tmpfs /var/tmp
 +
tmpfs /var/spool
 +
tmpfs /var/lib/boinc-client/slots
 
</pre>
 
</pre>
  
$ sudo nano /etc/folder2ram/folder2ram.conf
 
末尾に追記
 
tmpfs /var/log
 
tmpfs /var/tmp
 
tmpfs /var/spool
 
tmpfs /var/cache/samba
 
tmpfs /var/lib/boinc-client/slots
 
 
保存: Ctrl + o > リターン<br />
 
保存: Ctrl + o > リターン<br />
 
終了: Ctrl + x  
 
終了: Ctrl + x  
 
 
  $ sudo folder2ram -mountall
 
  $ sudo folder2ram -mountall
 
  $ sudo folder2ram -enablesystemd
 
  $ sudo folder2ram -enablesystemd
 +
$ sudo reboot
 +
確認
 +
$ df -h
 +
 +
=='''省電力化'''==
 +
===HDMI ===
 +
$ sudo nano /etc/rc.local
 +
末尾のexit 0手前に追記
 +
tvservice --off
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
$ sudo reboot
 +
 +
===Bluetooth===
 +
$ sudo nano /boot/config.txt
 +
末尾に追記
 +
dtoverlay=disable-bt
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 +
$ sudo reboot
 +
 +
===Wi-Fi===
 +
$ sudo nano /boot/config.txt
 +
末尾に追記
 +
dtoverlay=disable-wifi
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 +
$ sudo reboot
 +
<!--
 +
===USB===
 +
[https://github.com/mvp/uhubctl GitHub - mvp/uhubctl]<br />
 +
[https://github.com/mvp/uhubctl#user-content-raspberry-pi-turns-power-off-on-all-ports-not-just-the-one-i-specified Raspberry Pi turns power off on all ports, not just the one I specified]<br />
 +
4Bのみ
 +
<pre>
 +
$ sudo rpi-eeprom-update
 +
</pre>
 +
全種
 +
<pre>
 +
$ sudo apt install libusb-1.0-0-dev git
 +
$ cd ~
 +
$ git clone https://github.com/mvp/uhubctl
 +
$ cd uhubctl
 +
$ make
 +
$ sudo make install
 +
</pre>
 +
$ sudo nano /etc/rc.local
 +
 +
末尾のexit 0手前に追記
 +
 +
1B+, 2B, 3B, 3B+ のみ
 +
uhubctl -l 1-1 -p 2 -a 0
 +
 +
4B のみ
 +
uhubctl -l 1-1 -a 0
 +
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 +
$ sudo reboot
 +
 +
===LED消灯===
 +
[https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README firmware/README at master · raspberrypi/firmware · GitHub]<br />
 +
ファームウェア更新
 +
$ sudo rpi-update
 +
$ sudo reboot
 +
 +
設定
 +
$ sudo nano /boot/config.txt
 +
末尾に追記
 +
 +
4Bのみ
 +
<pre>
 +
dtoverlay=act-led
 +
dtparam=act_led_trigger=none
 +
dtparam=act_led_activelow=off
 +
dtparam=pwr_led_trigger=none
 +
dtparam=pwr_led_activelow=off
 +
dtparam=eth_led0=4
 +
dtparam=eth_led1=4
 +
</pre>
 +
 +
3B+のみ
 +
<pre>
 +
dtoverlay=act-led
 +
dtparam=act_led_trigger=none
 +
dtparam=act_led_activelow=off
 +
dtparam=pwr_led_trigger=none
 +
dtparam=pwr_led_activelow=off
 +
dtparam=eth_led0=14
 +
dtparam=eth_led1=14
 +
</pre>
 +
 +
3Bのみ
 +
設定ない?
 +
 +
3A+のみ
 +
<pre>
 +
dtoverlay=act-led
 +
dtparam=act_led_trigger=none
 +
dtparam=act_led_activelow=off
 +
dtparam=pwr_led_trigger=none
 +
dtparam=pwr_led_activelow=off
 +
</pre>
 +
 +
2B, 1B+, 1B, 1A+, 1Aのみ
 +
<pre>
 +
dtparam=act_led_trigger=none
 +
dtparam=act_led_activelow=off
 +
dtparam=pwr_led_trigger=none
 +
dtparam=pwr_led_activelow=off
 +
</pre>
 +
 +
Zeroのみ
 +
<pre>
 +
dtparam=act_led_trigger=none
 +
dtparam=act_led_activelow=on
 +
</pre>
 +
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 +
$ sudo reboot
 +
-->
 +
 +
=='''SMTPクライアント'''==
 +
[https://wiki.archlinux.jp/index.php/Msmtp msmtp - ArchWiki]
 +
 +
Gmailの二段階認証を設定<br />
 +
[https://support.google.com/mail/answer/185833?hl=ja アプリパスワード]を発行
 +
 +
インストール
 +
$ sudo apt install msmtp msmtp-mta
 +
 +
設定
 +
$ sudo nano /etc/msmtprc
 +
 +
<pre>
 +
# Set default values for all following accounts.
 +
defaults
 +
tls            on
 +
tls_starttls  on
 +
tls_certcheck  off
 +
auth plain
 +
logfile        ~/.msmtp.log
 +
 +
# Gmail
 +
account        gmail
 +
host          smtp.gmail.com
 +
port          587
 +
from          *****@gmail.com
 +
user          *****
 +
password      アプリパスワード
 +
 +
# Set a default account
 +
account default : gmail
 +
</pre>
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 +
変更
 +
$ sudo chmod 0644 /etc/msmtprc
 +
 +
送信テスト
 +
$ echo "Subject: test" | sendmail -v *****@gmail.com
 +
 +
ログ
 +
$ sudo nano ~/.msmtp.log
 +
終了: Ctrl + x
 +
<!--
 +
=='''自動アップデート'''==
 +
インストール
 +
$ sudo apt install unattended-upgrades
 +
 +
設定
 +
$ sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
 +
 +
修正<br />
 +
セキュリティーアップデート
 +
<pre>
 +
Unattended-Upgrade::Origins-Pattern {
 +
        // Codename based matching:
 +
        // This will follow the migration of a release through different
 +
        // archives (e.g. from testing to stable and later oldstable).
 +
        // Software will be the latest available for the named release,
 +
        // but the Debian release itself will not be automatically upgraded.
 +
//      "origin=Debian,codename=${distro_codename}-updates";
 +
//      "origin=Debian,codename=${distro_codename}-proposed-updates";
 +
        "origin=Debian,codename=${distro_codename},label=Debian";
 +
        "origin=Debian,codename=${distro_codename},label=Debian-Security";
 +
        "origin=Raspbian,codename=${distro_codename},label=Raspbian";
 +
        "origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
 +
 +
        // Archive or Suite based matching:
 +
        // Note that this will silently match a different release after
 +
        // migration to the specified archive (e.g. testing becomes the
 +
        // new stable).
 +
//      "o=Debian,a=stable";
 +
//      "o=Debian,a=stable-updates";
 +
//      "o=Debian,a=proposed-updates";
 +
//      "o=Debian Backports,a=${distro_codename}-backports,l=Debian Backports";
 +
};
 +
</pre>
 +
 +
メール通知
 +
//Unattended-Upgrade::Mail "";
 +
Unattended-Upgrade::Mail "*****@gmail.com";
 +
//Unattended-Upgrade::MailOnlyOnError "false";
 +
Unattended-Upgrade::MailOnlyOnError "true";
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 +
動作確認
 +
$ sudo unattended-upgrade -d -v --dry-run
 +
 +
有効化
 +
$ sudo dpkg-reconfigure -plow unattended-upgrades
 +
<はい> > リターン
 +
 +
ログ
 +
$ tail /var/log/unattended-upgrades/unattended-upgrades.log
 +
-->
 +
 +
=='''負荷テスト'''==
 +
インストール
 +
$ sudo apt install stress
 +
$ stress --help
 +
実行 10分間
 +
$ sudo stress -c 4 -i 4 -m 4 -d 1 -t 10m
 +
 +
=='''CPU使用率制限'''==
 +
CPU使用率を制限したい場合<br />
 +
インストール
 +
$ sudo apt install cpulimit
 +
$ cpulimit -h
 +
 +
確認 Rosetta@home
 +
$ ps -eo cmd
 +
 +
  CMD
 +
  ../../projects/boinc.bakerlab.org_rosetta/rosetta_4.20_aarch64-unknown-linux-gnu ....
 +
 +
テスト
 +
$ sudo cpulimit -e rosetta_4.20_aarch64-unknown-linux-gnu -l 65
 +
終了: Ctrl + c
 +
 +
確認 World Community Grid
 +
$ ps -eo cmd
 +
 +
CMD
 +
../../projects/www.worldcommunitygrid.org/wcgrid_opn1_autodock_7.21_arm-unknown-linux-gnueabihf ....
 +
 +
テスト
 +
$ sudo cpulimit -e wcgrid_opn1_autodock_7.21_arm-unknown-linux-gnueabihf -l 65
 +
終了: Ctrl + c
 +
 +
確認 TN-Grid
 +
$ ps -eo cmd
 +
 +
CMD
 +
../../projects/gene.disi.unitn.it_test/gene_pcim_v1.10_armv6zk_vfp ....
 +
 +
テスト
 +
$ sudo cpulimit -e gene_pcim_v1.10_armv6zk_vfp -l 65
 +
終了: Ctrl + c
 +
 +
確認 SiDock@home
 +
 +
設定
 +
$ sudo nano /etc/rc.local
 +
末尾のexit 0手前に追記
 +
cpulimit -e rosetta_4.20_aarch64-unknown-linux-gnu -l 65 -b
 +
cpulimit -e wcgrid_opn1_autodock_7.21_arm-unknown-linux-gnueabihf -l 65 -b
 +
cpulimit -e gene_pcim_v1.10_armv6zk_vfp -l 65 -b
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 +
$ sudo reboot
 +
 +
=='''Boinc GUI'''==
 +
<span style="color: red">BOINCプラットフォームのみ</span>
 +
 +
===<span id="boinc_manager">'''Boinc Manager'''<span>===
 +
[https://boinc.berkeley.edu/download.php Install BOINC]<br />
 +
Windows10使用
 +
 +
[[ファイル:Boinc_manager_covid-19.jpg|480px|border|link=]]
 +
 +
設定<br />
 +
ファイル > コンピュータの選択
 +
計算機名(ホスト名): covid-19-01
 +
パスワード: AAAAAAAAA
 +
 +
リンク修正<br />
 +
BOINC Managerを終了<br />
 +
BOINC Managerのアイコンを右クリック > プロパティ<br />
 +
リンク先: "C:\Program Files\BOINC\boincmgr.exe" -n covid-19-01 -p AAAAAAAAA
 +
 +
BOINC Managerを起動<br />
 +
オプション > イベント・ログのオプション > 全てOFF<br />
 +
プロジェクト選択 > 操作 > 更新
 +
 +
チームに参加<br />
 +
Rosetta@home<br />
 +
[https://boinc.bakerlab.org/rosetta/team_display.php?teamid=19963 rosetta@raspberrypi.linux.5ch]<br />
 +
[https://boinc.bakerlab.org/rosetta/top_teams.php?sort_by=expavg_credit&offset=0 チームのランキング - Rosetta@home]
 +
 +
イベント・ログにエラー<br />
 +
cc_config.xml の中に認識されないタグが見つかりました: <allow_gui_rpc_get><br />
 +
cc_config.xml の中に認識されないタグが見つかりました: <max_stderr_file_size><br />
 +
cc_config.xml の中に認識されないタグが見つかりました: <max_stdout_file_size>
 +
 +
$ sudo nano /var/lib/boinc-client/cc_config.xml
 +
削除<br />
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 +
==='''BoincView'''===
 +
[https://boinc.berkeley.edu/addons.php BOINC add-on software]<br />
 +
[https://boinc.berkeley.edu/addon_item.php?platform=win&item=boincview.zip BoincView]<br />
 +
Windows10使用
 +
 +
[[ファイル:BoincView.jpg|480px|border|link=]]
 +
 +
設定<br />
 +
ダウンロード解凍し、C:\Program Files (x86)に配置、起動<br />
 +
登録 > +アイコン
 +
Name: COVID-19-01
 +
Get data via network acess: ✔
 +
Hostname: covid-19-01 31416
 +
BOINC password: AAAAAAAAA
 +
Apply
 +
 +
==='''BoincTasks'''===
 +
[https://boinc.berkeley.edu/addons.php BOINC add-on software]<br />
 +
[https://boinc.berkeley.edu/addon_item.php?platform=win&item=http%3A%2F%2Fwww.efmer.eu%2Fboinc%2Fboinc_tasks%2Fdownload.html BoincTasks]<br />
 +
Windows10使用
 +
 +
[[ファイル:boinc_tasks.jpg|480px|border|link=]]
 +
 +
設定<br />
 +
計算機tab選択 > メニューの計算機 > 計算機を追加
 +
計算機: COVID-19-01
 +
IPアドレス: covid-19-01.local
 +
ポート: 31416
 +
パスワード: AAAAAAAAA
 +
 +
=='''Netdata'''==
 +
[[ファイル:covid-19_netdata.jpg|480px|border|link=]]
 +
===インストール===
 +
[https://learn.netdata.cloud/docs/get Get Netdata | Learn Netdata]<br />
 +
[https://learn.netdata.cloud/docs/agent/packaging/installer/methods/kickstart Install Netdata with kickstart.sh · Netdata Agent | Learn Netdata]
 +
 +
<span style="color: red">複数台の場合、1台をParent(親機), 他をChild(子機)に設定</span><br />
 +
<span style="color: red">1台の場合、Parent(親機)に設定</span>
 +
 +
<syntaxhighlight lang="bash">
 +
$ bash <(curl -Ss https://my-netdata.io/kickstart.sh) --stable-channel --disable-cloud --disable-telemetry
 +
</syntaxhighlight>
 +
 +
再インストール<br />
 +
[https://learn.netdata.cloud/docs/agent/packaging/installer/reinstall Reinstall the Netdata Agent · Netdata Agent | Learn Netdata]
 +
<syntaxhighlight lang="bash">
 +
$ bash <(curl -Ss https://my-netdata.io/kickstart.sh) --stable-channel --disable-cloud --disable-telemetry --reinstall
 +
</syntaxhighlight>
 +
 +
ワンライナー<br />
 +
[https://github.com/netdata/netdata/blob/master/netdata-installer.sh#L204-L241 netdata/netdata-installer.sh at master · netdata/netdata · GitHub]
 +
 +
設定
 +
$ sudo /etc/netdata/edit-config netdata.conf
 +
 +
[global]
 +
            history = 600
 +
            memory mode = ram
 +
            debug log = none
 +
            error log = none
 +
            access log = none
 +
[web]
 +
            enable gzip compression = no
 +
[plugins]
 +
            cgroups = no
 +
            tc = no
 +
            idlejitter = no
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 +
温度センサー
 +
$ sudo /etc/netdata/edit-config charts.d.conf
 +
 +
末尾に追記
 +
sensors=force
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
  
 
再起動
 
再起動
 +
$ sudo service netdata restart
 +
 +
確認
 +
http://covid-19-01.local:19999
 +
 +
fstab
 +
$ sudo nano /etc/fstab
 +
末尾に追記
 +
tmpfs    /var/lib/netdata                  tmpfs    defaults,noatime,nodiratime,mode=1777  0      0
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
  $ sudo reboot
 
  $ sudo reboot
  
218行目: 1,491行目:
 
  $ df -h
 
  $ df -h
  
===journald===
+
===アンインストール===
参考: [https://sites.google.com/site/kandamotohiro/systemd/man-journald-conf-no-yi man journald.conf の訳]
+
https://learn.netdata.cloud/docs/agent/packaging/installer/uninstall
$ sudo nano /etc/systemd/journald.conf
+
  
追記
+
確認
  Storage=none
+
  $ cd ~
 +
$ cd /etc/netdata/
 +
$ ls -a
 +
実行
 +
$ sudo /usr/libexec/netdata/netdata-uninstaller.sh --yes --env /etc/netdata/.environment
 +
ENTERの繰り返し
 +
$ sudo reboot
 +
 
 +
===Streaming===
 +
[https://docs.netdata.cloud/streaming/ Streaming and replication | Learn Netdata]
 +
 
 +
<span style="color: red">複数台をParent(親機)で管理する場合</span><br />
 +
'''Parent(親機)'''
 +
$ sudo /etc/netdata/edit-config stream.conf
 +
 
 +
設定
 +
# [API_KEY] is [YOUR-API-KEY], i.e [11111111-2222-3333-4444-555555555555]
 +
[11111111-2222-3333-4444-555555555555]
 +
  enabled = yes
 +
  allow from = *
 +
  default history = 3600
 +
  default memory mode = ram
 +
  health enabled by default = auto
 +
 
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
再起動
 +
$ sudo service netdata restart
 +
 
 +
確認
 +
http://covid-19-01.local:19999
 +
 
 +
'''Child(子機)'''<br />
 +
ヘッドレスコレクター
 +
$ sudo /etc/netdata/edit-config stream.conf
 +
 
 +
設定<br />
 +
[stream]
 +
    enabled = yes
 +
    destination = covid-19-01.local:19999
 +
    api key = 11111111-2222-3333-4444-555555555555
 +
 
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
$ sudo /etc/netdata/edit-config netdata.conf
 +
 
 +
設定
 +
[global]
 +
          history = 600
 +
          memory mode = none
 +
          debug log = none
 +
          error log = none
 +
          access log = none
 +
[web]
 +
          mode = none
 +
          accept a streaming request every seconds = 0
 +
          enable gzip compression = no
 +
[plugins]
 +
          cgroups = no
 +
          tc = no
 +
          idlejitter = no
 +
[health]
 +
          enabled = no
 +
 
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
再起動
 +
$ sudo service netdata restart
 +
 
 +
確認
 +
http://covid-19-01.local:19999
 +
 
 +
===Modules===
 +
====BOINC====
 +
[https://learn.netdata.cloud/docs/agent/collectors/python.d.plugin/boinc BOINC monitoring with Netdata | Learn Netdata]
 +
 
 +
<span style="color: red">Parent(親機), Child(子機)に設定</span><br />
 +
<span style="color: red">BOINCプラットフォームのみ</span>
 +
 
 +
$ cd /etc/netdata
 +
$ sudo ./edit-config python.d/boinc.conf
 +
 
 +
末尾に追記<br />
 +
<span style="color: red">実機のhostname</span>
 +
<pre>
 +
remote:
 +
  hostname: covid-19-03
 +
  password: AAAAAAAAA
 +
</pre>
 
保存: Ctrl + o > リターン<br />
 
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 +
$ sudo service netdata restart
 +
 +
====vcgencmd====
 +
[https://elinux.org/RPI_vcgencmd_usage RPI vcgencmd usage - eLinux.org]<br />
 +
[https://docs.netdata.cloud/collectors/python.d.plugin/ python.d.plugin - Netdata Documentation]
 +
 +
<span style="color: red">Parent(親機), Child(子機)に設定</span>
 +
 +
グループvideoに追加
 +
$ sudo adduser netdata video
 +
$ sudo reboot
 +
 +
確認
 +
$ vcgencmd get_throttled
 +
 +
{| class="wikitable" style="width:420px;"
 +
| style="padding-left:10px;padding-right:10px;;width:80px;"| 0x0
 +
| style="padding-left:10px;padding-right:10px;"| 正常
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| 0x50005
 +
| style="padding-left:10px;padding-right:10px;" | 現在 低電圧
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| 0x80008
 +
| style="padding-left:10px;padding-right:10px;" | 現在 熱によりクロックダウン
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| 0x50000
 +
| style="padding-left:10px;padding-right:10px;" | 過去 低電圧状態になったが現在は正常
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| 0x80000
 +
| style="padding-left:10px;padding-right:10px;" | 過去 熱によりクロックダウンし現在は正常
 +
|}
 +
 +
[https://www.raspberrypi.org/documentation/raspbian/applications/vcgencmd.md Raspberry Pi Documentation]<br />
 +
[https://harlemsquirrel.github.io/shell/2019/01/05/monitoring-raspberry-pi-power-and-thermal-issues.html Monitoring Raspberry Pi Power and Thermal Issues]
 +
 +
{| class="wikitable" style="width:420px;"
 +
| style="padding-left:10px;padding-right:10px;width:80px;"| 0
 +
| style="padding-left:10px;padding-right:10px;" | 現在 低電圧
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| 1
 +
| style="padding-left:10px;padding-right:10px;" | 現在 クロックダウン
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| 2
 +
| style="padding-left:10px;padding-right:10px;" | 現在 スロットリング
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| 3
 +
| style="padding-left:10px;padding-right:10px;" | 現在 ソフト温度制限
 +
|-
 +
| style="padding-left:10px;padding-right:10px;width:80px;color:lightgray;"| 16
 +
| style="padding-left:10px;padding-right:10px;color:lightgray;" | 過去 低電圧 (現在正常)
 +
|-
 +
| style="padding-left:10px;padding-right:10px;color:lightgray;"| 17
 +
| style="padding-left:10px;padding-right:10px;color:lightgray;" | 過去 周波数制限 (現在正常)
 +
|-
 +
| style="padding-left:10px;padding-right:10px;color:lightgray;"| 18
 +
| style="padding-left:10px;padding-right:10px;color:lightgray;" | 過去 スロットリング (現在正常)
 +
|-
 +
| style="padding-left:10px;padding-right:10px;color:lightgray;"| 19
 +
| style="padding-left:10px;padding-right:10px;color:lightgray;" | 過去 ソフト温度制限 (現在正常)
 +
|}
 +
 +
メモ<br />
 +
measure_clock [clock]
 +
$ vcgencmd measure_clock arm;vcgencmd measure_clock core;vcgencmd measure_clock H264;vcgencmd measure_clock isp;vcgencmd measure_clock v3d;vcgencmd measure_clock uart;vcgencmd measure_clock pwm;vcgencmd measure_clock emmc;vcgencmd measure_clock pixel;vcgencmd measure_clock vec;vcgencmd measure_clock hdmi;vcgencmd measure_clock dpi
 +
 +
measure_volts [block]
 +
$ vcgencmd measure_volts core;vcgencmd measure_volts sdram_c;vcgencmd measure_volts sdram_i;vcgencmd measure_volts sdram_p
 +
 +
otp_dump
 +
$ vcgencmd otp_dump
 +
 +
get_mem type
 +
$ vcgencmd get_mem arm;vcgencmd get_mem gpu;cat /proc/meminfo
 +
 +
codec_enabled [type]
 +
$ vcgencmd codec_enabled AGIF;vcgencmd codec_enabled FLAC;vcgencmd codec_enabled H263;vcgencmd codec_enabled H264;vcgencmd codec_enabled MJPA;vcgencmd codec_enabled MJPB;vcgencmd codec_enabled MJPG;vcgencmd codec_enabled MPG2;vcgencmd codec_enabled MPG4;vcgencmd codec_enabled MVC0;vcgencmd codec_enabled PCM;vcgencmd codec_enabled THRA;vcgencmd codec_enabled VORB;vcgencmd codec_enabled VP6;vcgencmd codec_enabled VP8;vcgencmd codec_enabled WMV9;vcgencmd codec_enabled WVC1
 +
 +
read_ring_osc
 +
$ vcgencmd read_ring_osc
 +
 +
display_power [0 | 1 | -1] [display]
 +
$ vcgencmd display_power
 +
 +
設定
 +
$ sudo nano /usr/libexec/netdata/python.d/vcgencmd.chart.py
 +
 +
<syntaxhighlight lang="python">
 +
# -*- coding: utf-8 -*-
 +
 +
from bases.FrameworkServices.ExecutableService import ExecutableService
 +
 +
ORDER = ["under-voltage", "arm-frequency", "throttling", "soft-temperature-limit"]
 +
 +
CHARTS = {
 +
    "under-voltage": {
 +
        "options": [
 +
            "vcgencmd get_throttled",
 +
            "Under-voltage detected",
 +
            "",
 +
            "under-voltage",
 +
            "",
 +
            "line",
 +
        ],
 +
        "lines": [["under-voltage"]],
 +
    },
 +
    "arm-frequency": {
 +
        "options": [
 +
            "vcgencmd get_throttled",
 +
            "Arm frequency capped",
 +
            "",
 +
            "arm-frequency",
 +
            "",
 +
            "line",
 +
        ],
 +
        "lines": [["arm-frequency"]],
 +
    },
 +
    "throttling": {
 +
        "options": [
 +
            "vcgencmd get_throttled",
 +
            "Currently throttled",
 +
            "",
 +
            "throttling",
 +
            "",
 +
            "line",
 +
        ],
 +
        "lines": [["throttling"]],
 +
    },
 +
    "soft-temperature-limit": {
 +
        "options": [
 +
            "vcgencmd get_throttled",
 +
            "Soft temperature limit active",
 +
            "",
 +
            "soft-temperature-limit",
 +
            "",
 +
            "line",
 +
        ],
 +
        "lines": [["soft-temperature-limit"]],
 +
    },
 +
}
 +
 +
VCGENCMD_COMMAND = "vcgencmd get_throttled"
 +
 +
 +
class Service(ExecutableService):
 +
    def __init__(self, configuration=None, name=None):
 +
        ExecutableService.__init__(self, configuration=configuration, name=name)
 +
        self.order = ORDER
 +
        self.definitions = CHARTS
 +
        self.command = VCGENCMD_COMMAND
 +
 +
    def _get_data(self):
 +
        try:
 +
            raw = self._get_raw_data()
 +
            throttled_binary = bin(int(raw[0].split("=")[1], 0))
 +
            if throttled_binary == "0b0":
 +
                throttled_binary = "0b0000000000000000000"
 +
            return {
 +
                "under-voltage": throttled_binary[-1],
 +
                "arm-frequency": throttled_binary[-2],
 +
                "throttling": throttled_binary[-3],
 +
                "soft-temperature-limit": throttled_binary[-4],
 +
            }
 +
        except (ValueError, AttributeError):
 +
            return None
 +
</syntaxhighlight>
 +
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 +
$ sudo nano /usr/lib/netdata/conf.d/python.d/vcgencmd.conf
 +
設定
 +
<pre>
 +
types:
 +
  - under-voltage
 +
  - arm-frequency
 +
  - throttling
 +
  - soft-temperature-limit
 +
</pre>
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 +
debug
 +
$ sudo su -s /bin/bash netdata
 +
$ /usr/libexec/netdata/plugins.d/python.d.plugin vcgencmd debug trace nolock
 +
Ctrl + c > 停止<br />
 +
Ctrl + d > ログアウト
 +
 +
登録
 +
$ sudo /etc/netdata/edit-config python.d.conf
 +
末尾に追記
 +
vcgencmd: yes
 +
保存: Ctrl + o リターン<br />
 
終了: Ctrl + x  
 
終了: Ctrl + x  
  
 
再起動
 
再起動
 +
$ sudo service netdata restart
 +
 +
確認
 +
http://covid-19-01.local:19999
 +
 +
====throttling====
 +
[https://elinux.org/RPI_vcgencmd_usage RPI vcgencmd usage - eLinux.org]<br />
 +
[https://www.raspberrypi.org/documentation/hardware/raspberrypi/frequency-management.md Frequency management and thermal control - Raspberry Pi Documentation]<br />
 +
[https://docs.netdata.cloud/collectors/python.d.plugin/ python.d.plugin - Netdata Documentation]
 +
 +
<span style="color: red">Parent(親機), Child(子機)に設定</span>
 +
 +
<span style="color: red">※vcgencmdと内容が重複してる</span>
 +
 +
グループvideoに追加
 +
$ sudo adduser netdata video
 
  $ sudo reboot
 
  $ sudo reboot
  
=='''更新履歴'''==
+
確認
 +
$ vcgencmd get_throttled
 +
throttled=0x0
 +
 
 +
{| class="wikitable" style="width:420px;"
 +
| style="padding-left:10px;padding-right:10px;"| 0x0
 +
| style="padding-left:10px;padding-right:10px;"| 正常
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| <del>0x50000</del>
 +
| style="padding-left:10px;padding-right:10px;" | <del>過去 低電圧状態になったが現在は正常</del>
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| 0x50005
 +
| style="padding-left:10px;padding-right:10px;" | 現在 低電圧状態
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| <del>0x80000</del>
 +
| style="padding-left:10px;padding-right:10px;" | <del>過去 熱によりクロックダウン</del>
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| 0x80008
 +
| style="padding-left:10px;padding-right:10px;" | 現在 熱によりクロックダウン
 +
|}
 +
 
 +
0x50005を{"voltage": 1}<br />
 +
0x80008を{"voltage": 2}<br />
 +
その他を{"voltage": 0}に振り分けてみる
 +
 
 +
$ sudo nano /usr/libexec/netdata/python.d/throttle.chart.py
 +
 
 +
設定
 +
<syntaxhighlight lang="python">
 +
# -*- coding: utf-8 -*-
 +
 
 +
from bases.FrameworkServices.ExecutableService import ExecutableService
 +
 
 +
VCGENCMD_COMMAND = "vcgencmd get_throttled"
 +
 
 +
ORDER = ["throttle"]
 +
 
 +
CHARTS = {
 +
    "throttle": {
 +
        "options": [
 +
            "vcgencmd get_throttled",
 +
            "CPU throttling or under-voltage",
 +
            "",
 +
            "voltage",
 +
            "",
 +
            "line",
 +
        ],
 +
        "lines": [["voltage", "throttle", "absolute", 1]],
 +
    }
 +
}
 +
 
 +
 
 +
class Service(ExecutableService):
 +
    def __init__(self, configuration=None, name=None):
 +
        ExecutableService.__init__(self, configuration=configuration, name=name)
 +
        self.order = ORDER
 +
        self.definitions = CHARTS
 +
        self.command = VCGENCMD_COMMAND
 +
 
 +
    def _get_data(self):
 +
        try:
 +
            raw = self._get_raw_data()
 +
            str = raw[0].split("=")[1].replace("\n", "")
 +
            if str == "0x50005":
 +
                return {"voltage": 1}
 +
            elif str == "0x80008":
 +
                return {"voltage": 2}
 +
            else:
 +
                return {"voltage": 0}
 +
        except (ValueError, AttributeError):
 +
            return None
 +
</syntaxhighlight>
 +
 
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
$ sudo nano /usr/lib/netdata/conf.d/python.d/throttle.conf
 +
設定
 +
<pre>
 +
types:
 +
  - throttle
 +
</pre>
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
debug
 +
$ sudo su -s /bin/bash netdata
 +
$ /usr/libexec/netdata/plugins.d/python.d.plugin throttle debug trace
 +
Ctrl + c > 停止
 +
Ctrl + d > ログアウト
 +
登録
 +
$ sudo /etc/netdata/edit-config python.d.conf
 +
末尾に追記
 +
throttle: yes
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
再起動
 +
$ sudo service netdata restart
 +
 
 +
確認
 +
http://covid-19-01.local:19999
 +
 
 +
====core-voltage====
 +
[https://elinux.org/RPI_vcgencmd_usage RPI vcgencmd usage - eLinux.org]<br />
 +
[https://docs.netdata.cloud/collectors/python.d.plugin/ python.d.plugin - Netdata Documentation]
 +
 
 +
<span style="color: red">Parent(親機), Child(子機)に設定</span>
 +
 
 +
グループvideoに追加
 +
$ sudo adduser netdata video
 +
$ sudo reboot
 +
 
 +
確認
 +
$ vcgencmd measure_volts
 +
volt=1.2000V
 +
 
 +
$ sudo nano /usr/libexec/netdata/python.d/volts.chart.py
 +
 
 +
設定
 +
<syntaxhighlight lang="python">
 +
# -*- coding: utf-8 -*-
 +
 
 +
from bases.FrameworkServices.ExecutableService import ExecutableService
 +
 
 +
VCGENCMD_COMMAND = "vcgencmd measure_volts"
 +
 
 +
ORDER = ["volts"]
 +
 
 +
CHARTS = {
 +
    "volts": {
 +
        "options": [
 +
            "vcgencmd measure_volts",
 +
            "Core voltage",
 +
            "",
 +
            "volt",
 +
            "volts",
 +
            "line",
 +
        ],
 +
        "lines": [["voltage", "volt", "absolute", 1]],
 +
    }
 +
}
 +
 
 +
 
 +
class Service(ExecutableService):
 +
    def __init__(self, configuration=None, name=None):
 +
        ExecutableService.__init__(self, configuration=configuration, name=name)
 +
        self.order = ORDER
 +
        self.definitions = CHARTS
 +
        self.command = VCGENCMD_COMMAND
 +
 
 +
    def _get_data(self):
 +
        try:
 +
            raw = self._get_raw_data()
 +
            str = raw[0].split("=")[1].replace("V\n", "")
 +
            str_float = float(str) * 1000
 +
            return {"voltage": str_float}
 +
        except (ValueError, AttributeError):
 +
            return None
 +
</syntaxhighlight>
 +
 
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
$ sudo nano /usr/lib/netdata/conf.d/python.d/volts.conf
 +
設定
 +
<pre>
 +
types:
 +
  - core-voltage
 +
</pre>
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
debug
 +
$ sudo su -s /bin/bash netdata
 +
$ /usr/libexec/netdata/plugins.d/python.d.plugin volts debug trace
 +
Ctrl + c > 停止
 +
Ctrl + d > ログアウト
 +
 
 +
登録
 +
$ sudo /etc/netdata/edit-config python.d.conf
 +
末尾に追記
 +
volts: yes
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
再起動
 +
$ sudo service netdata restart
 +
 
 +
確認
 +
http://covid-19-01.local:19999
 +
 
 +
====freqmode====
 +
[https://docs.netdata.cloud/collectors/python.d.plugin/ python.d.plugin - Netdata Documentation]
 +
 
 +
<span style="color: red">Parent(親機), Child(子機)に設定</span>
 +
 
 +
インストール
 +
$ sudo apt install cpufrequtils
 +
 
 +
確認
 +
$ cpufreq-info -p
 +
600000 1200000 performance
 +
 
 +
こんな感じにしてみる<br />
 +
{| class="wikitable" style="width:240px;"
 +
| style="padding-left:10px;padding-right:10px;"| cpufreq
 +
| style="padding-left:10px;padding-right:10px;"| value
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| powersave
 +
| style="padding-left:10px;padding-right:10px;"| 0
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| conservative
 +
| style="padding-left:10px;padding-right:10px;"| 1
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| ondemand
 +
| style="padding-left:10px;padding-right:10px;"| 2
 +
|-
 +
| style="padding-left:10px;padding-right:10px;"| performance
 +
| style="padding-left:10px;padding-right:10px;"| 3
 +
|}
 +
 
 +
$ sudo nano /usr/libexec/netdata/python.d/freqmode.chart.py
 +
 
 +
設定
 +
<syntaxhighlight lang="python">
 +
# -*- coding: utf-8 -*-
 +
 
 +
from bases.FrameworkServices.ExecutableService import ExecutableService
 +
 
 +
COMMAND = "cpufreq-info -p"
 +
 
 +
ORDER = ["FreqMode"]
 +
 
 +
CHARTS = {
 +
    "FreqMode": {
 +
        "options": [None, "FreqMode", "", "FreqMode", "FreqMode", "line"],
 +
        "lines": [["freqmode", "FreqMode", "absolute", 1]],
 +
    }
 +
}
 +
 
 +
 
 +
class Service(ExecutableService):
 +
    def __init__(self, configuration=None, name=None):
 +
        ExecutableService.__init__(self, configuration=configuration, name=name)
 +
        self.order = ORDER
 +
        self.definitions = CHARTS
 +
        self.command = COMMAND
 +
 
 +
    def _get_data(self):
 +
        try:
 +
            raw = self._get_raw_data()
 +
            str = raw[0].split(" ")[2].replace("\n", "")
 +
            if str == "powersave":
 +
                return {"freqmode": 0}
 +
            elif str == "conservative":
 +
                return {"freqmode": 1}
 +
            elif str == "ondemand":
 +
                return {"freqmode": 2}
 +
            elif str == "performance":
 +
                return {"freqmode": 3}
 +
        except (ValueError, AttributeError):
 +
            return None
 +
</syntaxhighlight>
 +
 
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
$ sudo nano /usr/lib/netdata/conf.d/python.d/freqmode.conf
 +
設定
 +
<pre>
 +
types:
 +
  - freqmode
 +
</pre>
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
debug
 +
$ sudo su -s /bin/bash netdata
 +
$ /usr/libexec/netdata/plugins.d/python.d.plugin freqmode debug trace
 +
Ctrl + c > 停止
 +
Ctrl + d > ログアウト
 +
 
 +
登録
 +
$ sudo /etc/netdata/edit-config python.d.conf
 +
末尾に追記
 +
freqmode: yes
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
再起動
 +
$ sudo service netdata restart
 +
 
 +
確認
 +
http://covid-19-01.local:19999
 +
 
 +
====reboot-required====
 +
unattended-upgradesの再起動要求を監視
 +
 
 +
<span style="color: red">Parent(親機), Child(子機)に設定</span>
 +
 
 +
確認<br />
 +
reboot-requiredのファイルがある場合、再起動が必要<br />
 +
$ test -e /var/run/reboot-required; echo $?
 +
 
 +
0: 再起動必要<br />
 +
1: 再起動必要ない
 +
 
 +
設定
 +
$ sudo nano /usr/libexec/netdata/python.d/reboot_required.chart.py
 +
 
 +
0と1逆にしておく
 +
<syntaxhighlight lang="python">
 +
# -*- coding: utf-8 -*-
 +
 
 +
from bases.FrameworkServices.ExecutableService import ExecutableService
 +
 
 +
ORDER = ["reboot-required"]
 +
 
 +
CHARTS = {
 +
    "reboot-required": {
 +
        "options": [None, "Reboot Required", "bool", "", "reboot.required", "line"],
 +
        "lines": [["reboot-required"]],
 +
    }
 +
}
 +
 
 +
COMMAND = "test -e /var/run/reboot-required"
 +
 
 +
 
 +
class Service(ExecutableService):
 +
    def __init__(self, configuration=None, name=None):
 +
        ExecutableService.__init__(self, configuration=configuration, name=name)
 +
        self.order = ORDER
 +
        self.definitions = CHARTS
 +
        self.command = COMMAND
 +
 
 +
    def _get_data(self):
 +
        try:
 +
            raw = self._get_raw_data()
 +
            if raw == "0":
 +
                return {"reboot-required": 1}
 +
            else:
 +
                return {"reboot-required": 0}
 +
        except (ValueError, AttributeError):
 +
            return None
 +
 
 +
</syntaxhighlight>
 +
 
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
$ sudo nano /usr/lib/netdata/conf.d/python.d/reboot_required.conf
 +
設定
 +
<pre>
 +
update_every: 15
 +
priority: 60000
 +
retries: 60
 +
</pre>
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
debug
 +
$ sudo su -s /bin/bash netdata
 +
$ /usr/libexec/netdata/plugins.d/python.d.plugin reboot_required debug trace nolock
 +
Ctrl + c > 停止<br />
 +
Ctrl + d > ログアウト
 +
 
 +
登録
 +
$ sudo /etc/netdata/edit-config python.d.conf
 +
末尾に追記
 +
reboot_required: yes
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
再起動
 +
$ sudo service netdata restart
 +
 
 +
確認
 +
http://covid-19-01.local:19999
 +
 
 +
===Alarms===
 +
[https://learn.netdata.cloud/docs/agent/health/quickstart Health quickstart | Learn Netdata]<br />
 +
[https://learn.netdata.cloud/docs/agent/health/reference Health configuration reference · Netdata Agent | Learn Netdata]
 +
====調整====
 +
<span style="color: red">Parent(親機)に設定</span>
 +
 
 +
swap.conf 停止<br />
 +
ram.conf しきい値調整
 +
 
 +
$ cd /etc/netdata/
 +
$ sudo ./edit-config health.d/swap.conf
 +
 
 +
設定
 +
<pre>
 +
#      to: sysadmin
 +
      to: silent
 +
</pre>
 +
 
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 
 +
$ cd /etc/netdata/
 +
$ sudo ./edit-config health.d/ram.conf
 +
 
 +
変更
 +
<pre>
 +
  alarm: ram_available
 +
      on: mem.available
 +
      os: linux
 +
  hosts: *
 +
    calc: ($avail + $system.ram.used_ram_to_ignore) * 100 / ($system.ram.used + $syste$
 +
  units: %
 +
  every: 10s
 +
#  warn: $this < (($status >= $WARNING)  ? (15) : (10))
 +
#  crit: $this < (($status == $CRITICAL) ? (10) : ( 5))
 +
    warn: $this < (($status >= $WARNING)  ? ( 7.5) : ( 5))
 +
    crit: $this < (($status == $CRITICAL) ? ( 5) : ( 2.5))
 +
  delay: down 15m multiplier 1.5 max 1h
 +
    info: estimated amount of RAM available for userspace processes, without causing s$
 +
      to: sysadmin
 +
</pre>
 +
 
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 
 +
リロード
 +
$ sudo netdatacli reload-health
 +
 
 +
====オーバーヒート====
 +
<span style="color: red">Parent(親機)に設定</span>
 +
 
 +
sensors=forceの温度使用<br />
 +
70度でwarning<br />
 +
80度でcritical
 +
 
 +
$ cd /etc/netdata/
 +
$ sudo ./edit-config health.d/temperature.conf
 +
 
 +
設定
 +
<pre>
 +
template: thermal_temperature
 +
on: sensors.temp
 +
os: linux
 +
lookup: average -1m max
 +
units: celsius
 +
every: 10s
 +
warn: $this > 70
 +
crit: $this > 80
 +
info: Thermal Temperature
 +
to: sysadmin
 +
</pre>
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
リロード
 +
$ sudo netdatacli reload-health
 +
 
 +
====再起動要求====
 +
<span style="color: red">Parent(親機)に設定</span>
 +
 
 +
reboot_required.chart.py使用<br />
 +
1でcritical = 再起動要求
 +
 
 +
$ cd /etc/netdata/
 +
$ sudo touch health.d/reboot_required.conf
 +
$ sudo ./edit-config health.d/reboot_required.conf
 +
 
 +
設定
 +
<pre>
 +
template: reboot_required
 +
on: reboot.required
 +
os: linux
 +
lookup: average -15s max
 +
units: bool
 +
every: 15s
 +
crit: $this > 0.5
 +
info: Reboot Required
 +
to: sysadmin
 +
</pre>
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
リロード
 +
$ sudo netdatacli reload-health
 +
 
 +
===Email===
 +
[https://docs.netdata.cloud/health/notifications/email/ Email | Learn Netdata]
 +
 
 +
<span style="color: red">Parent(親機)に設定</span>
 +
 
 +
$ sudo /etc/netdata/edit-config health_alarm_notify.conf
 +
設定<br />
 +
criticalのみ
 +
sendmail="/usr/bin/msmtp"
 +
SEND_EMAIL="YES"
 +
EMAIL_PLAINTEXT_ONLY="YES"
 +
DEFAULT_RECIPIENT_EMAIL="*****@gmail.com|critical"
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x 
 +
 
 +
確認
 +
$ sudo su -s /bin/bash netdata
 +
$ /usr/libexec/netdata/plugins.d/alarm-notify.sh test [ROLE]
 +
終了: Ctrl + d
 +
<!--
 +
=='''自動復旧'''==
 +
[https://mmonit.com/wiki/Monit/Installation M/Monit/Installation | Wiki]
 +
 
 +
==='''Pi OS (32bit)'''===
 +
https://mmonit.com/monit/dist/binary/<br />
 +
インストール
 +
<pre>
 +
$ cd ~
 +
$ wget https://mmonit.com/monit/dist/binary/5.27.2/monit-5.27.2-linux-arm32.tar.gz
 +
$ tar zxvf monit-5.27.2-linux-arm32.tar.gz
 +
$ cd monit-5.27.2
 +
$ sudo cp bin/monit /usr/local/sbin/
 +
$ sudo cp conf/monitrc /etc/
 +
</pre>
 +
確認
 +
<pre>
 +
$ sudo /usr/local/sbin/monit -t
 +
  Control file syntax OK
 +
$ sudo /usr/local/sbin/monit -c /etc/monitrc
 +
  Starting Monit 5.27.2 daemon with http interface at [localhost]:2812
 +
$ curl http://admin:monit@localhost:2812/_status?format=json
 +
</pre>
 +
自動起動
 +
$ sudo nano /lib/systemd/system/monit.service
 +
設定
 +
<pre>
 +
[Unit]
 +
Description=Pro-active monitoring utility for unix systems
 +
After=network-online.target
 +
Documentation=man:monit(1) https://mmonit.com/wiki/Monit/HowTo
 +
 
 +
[Service]
 +
Type=simple
 +
KillMode=process
 +
ExecStart=/usr/local/sbin/monit -I
 +
ExecStop=/usr/local/sbin/monit quit
 +
ExecReload=/usr/local/sbin/monit reload
 +
Restart = on-abnormal
 +
StandardOutput=null
 +
 
 +
[Install]
 +
WantedBy=multi-user.target
 +
</pre>
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x<br />
 +
起動
 +
$ sudo systemctl enable monit.service
 +
$ sudo systemctl start monit.service
 +
$ sudo systemctl status monit.service
 +
 
 +
[[#folder2ram]] 設定
 +
 
 +
==='''Pi OS (arm64)'''===
 +
https://mmonit.com/monit/dist/<br />
 +
インストール
 +
<pre>
 +
$ sudo apt install libssl-dev libpam0g-dev
 +
$ cd ~
 +
$ wget https://mmonit.com/monit/dist/monit-5.27.2.tar.gz
 +
$ tar zxvf monit-5.27.2.tar.gz
 +
$ cd monit-5.27.2
 +
$ ./configure
 +
$ make && sudo make install
 +
$ sudo cp monitrc /etc/
 +
</pre>
 +
確認
 +
<pre>
 +
$ sudo /usr/local/bin/monit -t
 +
  Control file syntax OK
 +
$ sudo /usr/local/bin/monit -c /etc/monitrc
 +
  Starting Monit 5.27.2 daemon with http interface at [localhost]:2812
 +
$ curl http://admin:monit@localhost:2812/_status?format=json
 +
</pre>
 +
 
 +
自動起動
 +
$ sudo nano /lib/systemd/system/monit.service
 +
設定
 +
<pre>
 +
[Unit]
 +
Description=Pro-active monitoring utility for unix systems
 +
After=network-online.target
 +
Documentation=man:monit(1) https://mmonit.com/wiki/Monit/HowTo
 +
 
 +
[Service]
 +
Type=simple
 +
KillMode=process
 +
ExecStart=/usr/local/bin/monit -I
 +
ExecStop=/usr/local/bin/monit quit
 +
ExecReload=/usr/local/bin/monit reload
 +
Restart = on-abnormal
 +
StandardOutput=null
 +
 
 +
[Install]
 +
WantedBy=multi-user.target
 +
</pre>
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x<br />
 +
起動
 +
$ sudo systemctl enable monit.service
 +
$ sudo systemctl start monit.service
 +
$ sudo systemctl status monit.service
 +
 
 +
[[#folder2ram]] 設定
 +
 
 +
==='''モニタリング設定'''===
 +
https://mmonit.com/wiki/Monit/ConfigurationExamples<br />
 +
確認中<br />
 +
monit + BOINC: [https://www.rechenkraft.net/wiki/BOINC-Client_mit_monit_%C3%BCberwachen BOINC-Client mit monit überwachen – Rechenkraft]<br />
 +
[https://mmonit.com/wiki/Monit/ConfigurationExamples#ssh SSHD]
 +
 
 +
==='''Modules'''===
 +
[https://github.com/netdata/netdata/tree/master/collectors/python.d.plugin/monit monit netdata · GitHub]
 +
 
 +
設定
 +
$ cd /etc/netdata
 +
$ sudo ./edit-config python.d/monit.conf
 +
 
 +
末尾に追記
 +
<pre>
 +
local:
 +
  name    : 'local'
 +
  url    : 'http://localhost:2812'
 +
  user:    : admin
 +
  pass:    : monit
 +
</pre>
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 
 +
$ sudo service netdata restart
 
-->
 
-->
 +
 +
=='''更新履歴'''==
 +
* 2021.12.24 全体見直し
 +
* 2021.05.05 設定見直し
 +
* 2021.03.29 設定見直し
 +
* 2021.01.03 TN-Grid追加
 +
* 2020.11.07 Folding@home追加
 +
* 2020.10.18 World Community Grid追加
 +
* 2020.05.03 書き直し
 +
* 2020.04.06 公開

2022年9月2日 (金) 21:03時点における最新版

新型コロナウイルスの解析プロジェクトに参加してみます。

Status Monitor COVID-19

Iot-monitor02.png

具合

COVID-19-01 Rosetta@home 3B+
COVID-19-02 Rosetta@home 3B
COVID-19-03 Rosetta@home 3B
COVID-19-04 World Community Grid 2B
COVID-19-05 World Community Grid Zero
COVID-19-06 World Community Grid Zero
COVID-19-00 Netdata Master 2B

WCG移行スケジュール
https://www.worldcommunitygrid.org/
統計に動きがあるまで休止
https://www.worldcommunitygrid.org/stat/viewGlobal.do

メモ
2022.06現在のNetdataのUpdateドキュメント
https://github.com/netdata/netdata/blob/master/packaging/installer/UPDATE.md

環境

以降、"Raspberry Pi OS"は"Pi OS"と表記

モデル Raspberry Pi 全種
OS Pi OS Lite (32bit) 2020-08-20
Pi OS Lite (arm64) 2020-08-20
ストレージ microSDHC 16GB CLASS10
熱対策 ヒートシンク 40×40×25
銅サイコロ 20×20×20
熱伝導性両面テープ 0.6W/m・K 200x300
リモート操作 Windows10, SSH

調査

Folding@home

Folding@home - Wikipedia
Manual installation (advanced) - Folding@home
ワシントン大学

Rosetta@home

Rosetta@home - Wikipedia
Running Rosetta (COVID-19 workunits) on Raspberry Pi 3B+ ... - reddit.com
Raspberry Pi 3 Model BとRaspbian Buster LiteでRosetta@home - Pastebin.com
ワシントン大学

World Community Grid

World Community Grid - Wikipedia
Volunteer your Raspberry Pi to IBM's World Community Grid - Raspberry Pi
クレンビル研究所

TN-Grid

TN-Grid
トレント大学

SiDock@home

SiDock@home
Releases · Marko / CmDock · GitLab
ロシア科学アカデミー

Rosetta@homeクローン

Fold for Covid
balena

Forum

Folding@home https://foldingforum.org/
Rosetta@home https://boinc.bakerlab.org/rosetta/forum_index.php
World Community Grid https://www.worldcommunitygrid.org/forums/wcg/index
TN-Grid https://gene.disi.unitn.it/test/forum_index.php
SiDock@home https://www.sidock.si/sidock/forum_index.php

Applications

Folding@home https://foldingathome.org/alternative-downloads/
Rosetta@home https://boinc.bakerlab.org/rosetta/apps.php
World Community Grid https://www.worldcommunitygrid.org/help/viewTopic.do?shortName=minimumreq
TN-Grid https://gene.disi.unitn.it/test/apps.php
SiDock@home https://www.sidock.si/sidock/apps.php

Server Status

Folding@home https://foldingathome.org/statistics/
Rosetta@home https://boinc.bakerlab.org/rosetta/server_status.php
World Community Grid https://www.worldcommunitygrid.org/stat/viewGlobal.do
TN-Grid https://gene.disi.unitn.it/test/server_status.php
SiDock@home https://www.sidock.si/sidock/server_status.php

統計 2021/12/04

Users Computers
Folding@home
Rosetta@home 1,369,617 4,461,958
World Community Grid 804,452 7,583,455
TN-Grid 2,929 58,316
SiDock@home 4,558 20,228

ARM非対応

BOINC@TACC テキサス大学
GPUGRID ポンペウ・ファブラ大学
COVID-PHYM Ibercivis
Quarantine@Home Aleph-1 Foundation

動作環境

Raspberry Pi - Wikipedia

プラットフォーム

Folding@home … FAH
Rosetta@home … BOINC
World Community Grid … BOINC
TN-Grid … BOINC
SiDock@home … BOINC

必要なCPU

Folding@home … ARMv8 (64bit)
Rosetta@home … ARMv8 (64bit)
World Community Grid … 制限無し
TN-Grid … 制限無し
SiDock@home … 制限無し

必要なメモリ

Folding@home … 512MB
Rosetta@home … 1000MB程度~
World Community Grid … 250MB程度
TN-Grid … 70MB程度
SiDock@home … ?

多分動くモデル

1A 1A+ 3A+ 1B 1B+ 2B 3B 3B+ 4B Zero Zero2
CPU ARMv 6 6 8 6 6 7,8 8 8 8 6 8
Folding@home
Rosetta@home
World Community Grid
TN-Grid
SiDock@home

△: タイムアウトするかも

多分動くOS

Folding@home … Pi OS Lite (arm64)
Rosetta@home … Pi OS Lite (arm64) または Pi OS Lite (32bit) + 64bitカーネル設定
World Community Grid … 制限無し
TN-Grid … 制限無し
SiDock@home … Pi4: Pi OS Lite (32bit) Buster, Pi3: Pi OS Lite (32bit) Stretch

CPU温度の限界点

70°C~ … ソフト温度制限 (3A+, 3B+のみ, 最高設定)
80°C~ … サーマルスロットリング
85°C~ … CPU, GPU停止

Pi OS

Raspberry PiをSSHリモート操作環境にする

mDNS

Windows10使用
iTunes - Apple(日本)
ほかのバージョンをお探しですか? > Windows > ダウンロード
WinRARでiTunes64Setup.exeからBonjour64.msiを取り出し
インストール

SSHクライアント

Windows10 Tera Term使用
https://forest.watch.impress.co.jp/library/software/utf8teraterm/
インストール

OSインストール

Raspberry Pi Imager

Pi OS Lite (arm64) の場合イメージが無いのでダウンロード

Index of /raspios_lite_arm64/images

Raspberry Pi Imager > Use customでイメージを選択し焼き込み

ヘッドレスセットアップ
ヘッドレスセットアップ - Google 検索
ヘッドレスセットアップ A+ - Google 検索

root(boot)ディレクトリにssh空ファイル作成

電源ON
SSH接続

ホスト: raspberrypi.local
ユーザ名: pi
パスフレーズ: raspberry

確認

$ more /proc/device-tree/model | sed "s/$/\n/";getconf LONG_BIT | sed "s/^/os: /" | sed "s/$/bit/";arch | sed "s/^/kernel: /"

Raspberry Pi 3 Model B Plus Rev 1.3
os: 32bit
kernel: aarch64

64bitカーネル

Pi OS Lite (32bit) + 64bitカーネル設定 の場合
ARMv8 (64bit)のみ設定可

$ sudo nano /boot/config.txt

末尾に追記

arm_64bit=1
gpu_mem=16

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

expand

$ sudo raspi-config
Advanced Options > Expand Filesystem > <Ok> > tab > <Finish> > reboot<Yes>

locale

$ sudo raspi-config
Localisation Options > Change Locale >
[*] en_GB.UTF-8 UTF-8
[*] ja_JP.UTF-8 UTF-8 > スペースキー
> tab > <Ok> > ja_JP.UTF-8 リターン > tab > <Finish>
$ sudo reboot

timezone

$ sudo raspi-config
Localisation Options > Change Time Zone > アジア > 東京 > tab > <Finish>
$ sudo reboot

hostname

$ sudo raspi-config
Network Options > Hostname > <了解>

変更

covid-19-01
tab > <了解> > tab > <Finish> > <はい>

SSH接続

ホスト: covid-19-01.local
ユーザ名: pi
パスフレーズ: raspberry

timesyncd

設定

$ sudo nano /etc/systemd/timesyncd.conf

修正

[Time]
NTP=ntp.nict.jp
#FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048

保存: Ctrl + o > リターン
終了: Ctrl + x

起動

$ sudo timedatectl set-ntp true

確認

$ timedatectl status

upgrade

$ sudo apt update
$ sudo apt upgrade

zram

$ sudo nano /usr/bin/zram.sh

設定

#!/bin/bash
cores=$(nproc --all)
modprobe zram num_devices=$cores
swapoff -a
totalmem=`free | grep -e "^Mem:" | awk '{print $2}'`
mem=$(( ($totalmem * 2 / $cores)* 1024 ))
modprobe deflate
modprobe zlib
modprobe lz4hc_compress
core=0
while [ $core -lt $cores ]; do
  echo deflate > /sys/block/zram$core/comp_algorithm ||
   echo zlib > /sys/block/zram$core/comp_algorithm ||
   echo lz4hc > /sys/block/zram$core/comp_algorithm ||
   echo lz4 > /sys/block/zram$core/comp_algorithm
# not sure which one this kernel has
  echo $mem > /sys/block/zram$core/disksize
  mkswap /dev/zram$core
  swapon --discard -p 5 /dev/zram$core # reclaim memory better
  let core=core+1
done

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo chmod +x /usr/bin/zram.sh
$ sudo nano /etc/rc.local

末尾のexit 0手前に追記

/usr/bin/zram.sh &

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

確認

$ zramctl

swap

$ sudo nano /etc/dphys-swapfile

変更

#CONF_SWAPSIZE=100
CONF_SWAPSIZE=2048

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo systemctl start dphys-swapfile
$ sudo systemctl enable dphys-swapfile
$ sudo reboot

確認

$ sudo swapon --show

サービスは動いてるけどswapが無い
確認

$ systemctl list-unit-files --type=service

終了: Ctrl + c
rc.localで起動してみる
設定

$ sudo systemctl stop dphys-swapfile
$ sudo systemctl disable dphys-swapfile
$ sudo nano /etc/rc.local

zramの下に追記

/usr/bin/zram.sh &
systemctl start dphys-swapfile

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

確認

$ sudo swapon --show

service

$ sudo systemctl stop rsyslog
$ sudo systemctl disable rsyslog
$ sudo systemctl stop hciuart bluetooth
$ sudo systemctl disable hciuart bluetooth

journald

$ sudo nano /etc/systemd/journald.conf

末尾に追記

Storage=none

保存: Ctrl + o > リターン
終了: Ctrl + x

overclocking

raspi-documentation/overclocking.md at master · RealVNC/raspi-documentation · GitHub

$ sudo nano /boot/config.txt

末尾に追記
Zero のみ (変化ない?)

arm_freq = 1100
over_voltage = 8
sdram_freq = 500
sdram_over_voltage = 2
force_turbo = 1
boot_delay = 1

1B+ のみ

arm_freq=1000
core_freq=500
sdram_freq=600
over_voltage=6

2B のみ

arm_freq=1000
core_freq=500
sdram_freq=500
over_voltage=2

3B のみ

arm_freq=1350
core_freq=500
over_voltage=4

3B+ のみ

temp_soft_limit=70

4B のみ

over_voltage=2
arm_freq=1750

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

確認

$ vcgencmd get_config arm_freq

Folding@home

FAHClient

Passkey - Folding@home

Username: GGGGGG
Passkey: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Passkeyメールが届く

インストール
Alternative Downloads - Folding@home

$ wget https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-arm64/v7.6/fahclient_7.6.21_arm64.deb
$ sudo dpkg -i fahclient_7.6.21_arm64.deb

fahclientを設定しています
Folding@home User Name: Anonymous <tab> <OK>
Folding@home Team Number: 0 <tab> <OK>
Folding@home Passkey: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF <tab> <OK>
light or medium or full: full <リターン>
Should FAHClient be automatically started?: <OK>


設定

$ sudo nano /etc/fahclient/config.xml


設定
192.168.1.0/24 はプライベートIPアドレス

<config>
  <!-- Client Control -->
  <fold-anon v='true'/>

  <!-- Folding Slot Configuration -->
  <cause v='COVID_19'/>
  <gpu v='false'/>

  <!-- HTTP Server -->
  <allow v='127.0.0.1 192.168.1.0/24'/>

  <!-- Network -->
  <proxy v=':8080'/>

  <!-- Remote Command Server -->
  <command-allow-no-pass v='127.0.0.1 192.168.1.0/24'/>

  <!-- Slot Control -->
  <power v='full'/>

  <!-- User Information -->
  <passkey v='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'/>

  <!-- Web Server -->
  <web-allow v='127.0.0.1 192.168.1.0/24'/>

  <!-- Folding Slots -->
  <slot id='0' type='CPU'/>
</config>

再起動

$ sudo reboot

確認

$ htop

終了: Ctrl + c

CPU温度

$ while true; do vcgencmd measure_temp; sleep 1s; done

終了: Ctrl + c

FAHControl

Alternative Downloads - Folding@home
Windows10使用
スタートメニュー > Folding@home > FAHControl

FAHControl covid-19.jpg

FAHControl > 左下: Clients +Add > Connection
設定

Name: COVID-19
Hostname or IP: covid-19-01.local
Port: 36330

WEB CONTROL
http://covid-19-01.local:7396

FAHClient covid-19.jpg

Rosetta@home

インストール

$ sudo apt install boinc-client boinctui
$ sudo nano /var/lib/boinc-client/cc_config.xml

設定

<cc_config>
  <log_flags>
    <task>1</task>
    <file_xfer>1</file_xfer>
    <sched_ops>1</sched_ops>
  </log_flags>
  <options>
    <alt_platform>aarch64-unknown-linux-gnu</alt_platform>
    <allow_remote_gui_rpc>1</allow_remote_gui_rpc>
  </options>
</cc_config>

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo nano /var/lib/boinc-client/global_prefs_override.xml

設定

<!--
This configuration file global_prefs_override.xml for the BOINC core client
can be used to override global preferences locally. For a complete list of
all preferences which can be overridden see:
http://boinc.berkeley.edu/trac/wiki/PrefsOverride
-->
<global_preferences>
    <run_on_batteries>1</run_on_batteries>
    <run_if_user_active>1</run_if_user_active>
    <run_gpu_if_user_active>1</run_gpu_if_user_active>
    <suspend_cpu_usage>0.000000</suspend_cpu_usage>
    <leave_apps_in_memory>0</leave_apps_in_memory>
    <confirm_before_connecting>0</confirm_before_connecting>
    <hangup_if_dialed>0</hangup_if_dialed>
    <dont_verify_images>0</dont_verify_images>
    <work_buf_min_days>2.000000</work_buf_min_days>
    <work_buf_additional_days>0.200000</work_buf_additional_days>
    <max_ncpus_pct>50.000000</max_ncpus_pct>
    <cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
    <disk_interval>60.000000</disk_interval>
    <disk_max_used_gb>100.000000</disk_max_used_gb>
    <disk_max_used_pct>100.000000</disk_max_used_pct>
    <disk_min_free_gb>0.100000</disk_min_free_gb>
    <vm_max_used_pct>90.000000</vm_max_used_pct>
    <ram_max_used_busy_pct>400.000000</ram_max_used_busy_pct>
    <ram_max_used_idle_pct>400.000000</ram_max_used_idle_pct>
    <cpu_usage_limit>100.000000</cpu_usage_limit>
</global_preferences>

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo nano /etc/boinc-client/gui_rpc_auth.cfg

適当なパスワードを平文で書く AAAAAAAAA
保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

アカウント
Rosetta@home
Join Rosetta@home > Sign Up > アカウントを作成する

名前: GGGGGG
Eメール: BBB@BBB.BBB
パスワード: CCCCCCCCC

アカウント・キーの確認
アカウント・キー

アカウント・キー: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

設定

$ boinccmd --passwd AAAAAAAAA --project_attach https://boinc.bakerlab.org/rosetta/ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

確認

$ htop

終了: Ctrl + c

$ boinctui
host 127.0.0.1
port 31416
pwd AAAAAAAAA

Rosettahome covid-19.jpg

boinctuiメモ

Projects > Rosetta@home >
Update project: プロジェクトの更新
Suspend project: プロジェクトの一時停止
Resume project: プロジェクトの再開
No new tasks: 新しいタスクの取得中止
Allow new tasks: 新しいタスクの取得許可
Reset project: 現在のタスクの削除とプロジェクトの更新
Detach project: プロジェクトのデタッチ
Task >
Suspend task: タスクの一時停止
Resume task: タスクの再開
Abort task: タスクの完全停止

Boinccmd メモ

再読み込み 構成ファイル
$ boinccmd --passwd AAAAAAAAA --read_cc_config
再読み込み グローバル設定
$ boinccmd --passwd AAAAAAAAA --read_global_prefs_override
プロジェクトを更新
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ update
プロジェクトを停止
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ suspend
プロジェクトを再開
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ resume

CPU温度

$ while true; do vcgencmd measure_temp; sleep 1s; done

終了: Ctrl + c

World Community Grid

インストール

$ sudo apt install boinc-client boinctui
$ sudo nano /var/lib/boinc-client/cc_config.xml

設定

<cc_config>
  <log_flags>
    <task>1</task>
    <file_xfer>1</file_xfer>
    <sched_ops>1</sched_ops>
  </log_flags>
  <options>
    <alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
    <allow_remote_gui_rpc>1</allow_remote_gui_rpc>
  </options>
</cc_config>

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo nano /var/lib/boinc-client/global_prefs_override.xml

設定

<!--
This configuration file global_prefs_override.xml for the BOINC core client
can be used to override global preferences locally. For a complete list of
all preferences which can be overridden see:
http://boinc.berkeley.edu/trac/wiki/PrefsOverride
-->
<global_preferences>
   <run_on_batteries>1</run_on_batteries>
   <run_if_user_active>1</run_if_user_active>
   <run_gpu_if_user_active>1</run_gpu_if_user_active>
   <suspend_cpu_usage>0.000000</suspend_cpu_usage>
   <start_hour>0.000000</start_hour>
   <end_hour>0.000000</end_hour>
   <net_start_hour>0.000000</net_start_hour>
   <net_end_hour>0.000000</net_end_hour>
   <leave_apps_in_memory>0</leave_apps_in_memory>
   <confirm_before_connecting>0</confirm_before_connecting>
   <hangup_if_dialed>0</hangup_if_dialed>
   <dont_verify_images>0</dont_verify_images>
   <work_buf_min_days>2.000000</work_buf_min_days>
   <work_buf_additional_days>0.200000</work_buf_additional_days>
   <max_ncpus_pct>75.000000</max_ncpus_pct>
   <cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
   <disk_interval>300.000000</disk_interval>
   <disk_max_used_gb>0.000000</disk_max_used_gb>
   <disk_max_used_pct>100.000000</disk_max_used_pct>
   <disk_min_free_gb>0.000000</disk_min_free_gb>
   <vm_max_used_pct>90.000000</vm_max_used_pct>
   <ram_max_used_busy_pct>100.000000</ram_max_used_busy_pct>
   <ram_max_used_idle_pct>100.000000</ram_max_used_idle_pct>
   <max_bytes_sec_up>0.000000</max_bytes_sec_up>
   <max_bytes_sec_down>0.000000</max_bytes_sec_down>
   <cpu_usage_limit>100.000000</cpu_usage_limit>
   <daily_xfer_limit_mb>0.000000</daily_xfer_limit_mb>
   <daily_xfer_period_days>0</daily_xfer_period_days>
</global_preferences>

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo nano /etc/boinc-client/gui_rpc_auth.cfg

適当なパスワードを平文で書く AAAAAAAAA
保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

アカウント
World Community Grid - ホーム

いますぐ参加 > サインアップ
電子メールアドレス: BBB@BBB.BBB
パスワード: CCCCCCCCC
プロジェクトを選択します > OpenPandemics-COVID-19
以降適当に
確認メールが届く

アカウント・キーの確認
World Community Grid - マイ・プロファイル

アカウント・キー: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

設定

$ boinccmd --passwd AAAAAAAA --project_attach http://www.worldcommunitygrid.org EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

確認

$ htop

終了: Ctrl + c

$ boinctui
host 127.0.0.1
port 31416
pwd AAAAAAAAA

Wcg covid-19.jpg

boinctuiメモ

Projects > World Community Grid >
Update project: プロジェクトの更新
Suspend project: プロジェクトの一時停止
Resume project: プロジェクトの再開
No new tasks: 新しいタスクの取得中止
Allow new tasks: 新しいタスクの取得許可
Reset project: 現在のタスクの削除とプロジェクトの更新
Detach project: プロジェクトのデタッチ
Task >
Suspend task: タスクの一時停止
Resume task: タスクの再開
Abort task: タスクの完全停止

Boinccmd メモ

再読み込み 構成ファイル
$ boinccmd --passwd AAAAAAAAA --read_cc_config
再読み込み グローバル設定
$ boinccmd --passwd AAAAAAAAA --read_global_prefs_override
プロジェクトを更新
$ boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org update
プロジェクトを停止
$ boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org suspend
プロジェクトを再開
$ boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org resume

CPU温度

$ while true; do vcgencmd measure_temp; sleep 1s; done

終了: Ctrl + c

TN-Grid

インストール

$ sudo apt install boinc-client boinctui
$ sudo nano /var/lib/boinc-client/cc_config.xml

設定

<cc_config>
  <log_flags>
    <task>1</task>
    <file_xfer>1</file_xfer>
    <sched_ops>1</sched_ops>
  </log_flags>
  <options>
    <alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
    <allow_remote_gui_rpc>1</allow_remote_gui_rpc>
  </options>
</cc_config>

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo nano /var/lib/boinc-client/global_prefs_override.xml

設定

<!--
This configuration file global_prefs_override.xml for the BOINC core client
can be used to override global preferences locally. For a complete list of
all preferences which can be overridden see:
http://boinc.berkeley.edu/trac/wiki/PrefsOverride
-->
<global_preferences>
   <run_on_batteries>1</run_on_batteries>
   <run_if_user_active>1</run_if_user_active>
   <run_gpu_if_user_active>1</run_gpu_if_user_active>
   <suspend_cpu_usage>0.000000</suspend_cpu_usage>
   <start_hour>0.000000</start_hour>
   <end_hour>0.000000</end_hour>
   <net_start_hour>0.000000</net_start_hour>
   <net_end_hour>0.000000</net_end_hour>
   <leave_apps_in_memory>0</leave_apps_in_memory>
   <confirm_before_connecting>0</confirm_before_connecting>
   <hangup_if_dialed>0</hangup_if_dialed>
   <dont_verify_images>0</dont_verify_images>
   <work_buf_min_days>2.000000</work_buf_min_days>
   <work_buf_additional_days>0.200000</work_buf_additional_days>
   <max_ncpus_pct>75.000000</max_ncpus_pct>
   <cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
   <disk_interval>300.000000</disk_interval>
   <disk_max_used_gb>0.000000</disk_max_used_gb>
   <disk_max_used_pct>100.000000</disk_max_used_pct>
   <disk_min_free_gb>0.000000</disk_min_free_gb>
   <vm_max_used_pct>90.000000</vm_max_used_pct>
   <ram_max_used_busy_pct>100.000000</ram_max_used_busy_pct>
   <ram_max_used_idle_pct>100.000000</ram_max_used_idle_pct>
   <max_bytes_sec_up>0.000000</max_bytes_sec_up>
   <max_bytes_sec_down>0.000000</max_bytes_sec_down>
   <cpu_usage_limit>100.000000</cpu_usage_limit>
   <daily_xfer_limit_mb>0.000000</daily_xfer_limit_mb>
   <daily_xfer_period_days>0</daily_xfer_period_days>
</global_preferences>

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo nano /etc/boinc-client/gui_rpc_auth.cfg

適当なパスワードを平文で書く AAAAAAAAA
保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

アカウント
新しいアカウントを作成

Invitation Code: science@tn
名前: GGGGGG
Eメール: BBB@BBB.BBB
パスワード: CCCCCCCCC

アカウント・キーの確認
アカウント・キー

アカウント・キー: HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

設定

$ boinccmd --passwd AAAAAAAAA --project_attach http://gene.disi.unitn.it/test/ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

確認

$ htop

終了: Ctrl + c

$ boinctui
host 127.0.0.1
port 31416
pwd AAAAAAAAA

boinctuiメモ

Projects > TN-Grid Platform >
Update project: プロジェクトの更新
Suspend project: プロジェクトの一時停止
Resume project: プロジェクトの再開
No new tasks: 新しいタスクの取得中止
Allow new tasks: 新しいタスクの取得許可
Reset project: 現在のタスクの削除とプロジェクトの更新
Detach project: プロジェクトのデタッチ
Task >
Suspend task: タスクの一時停止
Resume task: タスクの再開
Abort task: タスクの完全停止

Boinccmd メモ

再読み込み 構成ファイル
$ boinccmd --passwd AAAAAAAAA --read_cc_config
再読み込み グローバル設定
$ boinccmd --passwd AAAAAAAAA --read_global_prefs_override
プロジェクトを更新
$ boinccmd --passwd AAAAAAAAA --project http://gene.disi.unitn.it/test/ update
プロジェクトを停止
$ boinccmd --passwd AAAAAAAAA --project http://gene.disi.unitn.it/test/ suspend
プロジェクトを再開
$ boinccmd --passwd AAAAAAAAA --project http://gene.disi.unitn.it/test/ resume

CPU温度

$ while true; do vcgencmd measure_temp; sleep 1s; done

終了: Ctrl + c

SiDock@home

Releases · Marko / CmDock · GitLab
未確認

cron

BOINCプラットフォームのみ

設定

$ crontab -e

1. /bin/nano <---- easiest
2. /usr/bin/vim.tiny
3. /bin/ed
Choose 1-3 [1]: > リターン
末尾に追記
Rosetta@home

0 * * * * boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ update

World Community Grid

0 * * * * boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org update

保存: Ctrl + o > リターン
終了: Ctrl + x
確認

$ sudo /etc/init.d/cron restart
$ sudo /etc/init.d/cron status

延命化

fstab

$ sudo nano /etc/fstab

末尾に追記

tmpfs    /tmp                              tmpfs    defaults,noatime,nodiratime,mode=1777  0       0

保存: Ctrl + o リターン
終了: Ctrl + x

$ sudo reboot

確認

$ df -h

folder2ram

GitHub - bobafetthotmail/folder2ram

$ sudo wget -O /sbin/folder2ram https://raw.githubusercontent.com/bobafetthotmail/folder2ram/master/debian_package/sbin/folder2ram
$ sudo chmod +x /sbin/folder2ram
$ sudo folder2ram -configure
リターン
$ sudo nano /etc/folder2ram/folder2ram.conf

末尾に追記
/var/log 設定するとOS再起動後netdataが起動しない
/var/lib/boinc-client/slots ダメかも
boinc-client/slots BOINCプラットフォーム使用時

tmpfs		/var/log
tmpfs		/var/tmp
tmpfs		/var/spool
tmpfs		/var/lib/boinc-client/slots

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo folder2ram -mountall
$ sudo folder2ram -enablesystemd
$ sudo reboot

確認

$ df -h

省電力化

HDMI

$ sudo nano /etc/rc.local

末尾のexit 0手前に追記

tvservice --off

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

Bluetooth

$ sudo nano /boot/config.txt

末尾に追記

dtoverlay=disable-bt

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

Wi-Fi

$ sudo nano /boot/config.txt

末尾に追記

dtoverlay=disable-wifi

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

SMTPクライアント

msmtp - ArchWiki

Gmailの二段階認証を設定
アプリパスワードを発行

インストール

$ sudo apt install msmtp msmtp-mta

設定

$ sudo nano /etc/msmtprc
# Set default values for all following accounts.
defaults
tls            on
tls_starttls   on
tls_certcheck  off
auth plain
logfile        ~/.msmtp.log

# Gmail
account        gmail
host           smtp.gmail.com
port           587
from           *****@gmail.com
user           *****
password       アプリパスワード

# Set a default account
account default : gmail

保存: Ctrl + o > リターン
終了: Ctrl + x

変更

$ sudo chmod 0644 /etc/msmtprc

送信テスト

$ echo "Subject: test" | sendmail -v *****@gmail.com

ログ

$ sudo nano ~/.msmtp.log

終了: Ctrl + x

負荷テスト

インストール

$ sudo apt install stress
$ stress --help

実行 10分間

$ sudo stress -c 4 -i 4 -m 4 -d 1 -t 10m

CPU使用率制限

CPU使用率を制限したい場合
インストール

$ sudo apt install cpulimit
$ cpulimit -h

確認 Rosetta@home

$ ps -eo cmd
 CMD
 ../../projects/boinc.bakerlab.org_rosetta/rosetta_4.20_aarch64-unknown-linux-gnu ....

テスト

$ sudo cpulimit -e rosetta_4.20_aarch64-unknown-linux-gnu -l 65

終了: Ctrl + c

確認 World Community Grid

$ ps -eo cmd
CMD
../../projects/www.worldcommunitygrid.org/wcgrid_opn1_autodock_7.21_arm-unknown-linux-gnueabihf ....

テスト

$ sudo cpulimit -e wcgrid_opn1_autodock_7.21_arm-unknown-linux-gnueabihf -l 65

終了: Ctrl + c

確認 TN-Grid

$ ps -eo cmd
CMD
../../projects/gene.disi.unitn.it_test/gene_pcim_v1.10_armv6zk_vfp ....

テスト

$ sudo cpulimit -e gene_pcim_v1.10_armv6zk_vfp -l 65

終了: Ctrl + c

確認 SiDock@home

設定

$ sudo nano /etc/rc.local

末尾のexit 0手前に追記

cpulimit -e rosetta_4.20_aarch64-unknown-linux-gnu -l 65 -b
cpulimit -e wcgrid_opn1_autodock_7.21_arm-unknown-linux-gnueabihf -l 65 -b
cpulimit -e gene_pcim_v1.10_armv6zk_vfp -l 65 -b

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

Boinc GUI

BOINCプラットフォームのみ

Boinc Manager

Install BOINC
Windows10使用

Boinc manager covid-19.jpg

設定

ファイル > コンピュータの選択
計算機名(ホスト名): covid-19-01
パスワード: AAAAAAAAA

リンク修正
BOINC Managerを終了
BOINC Managerのアイコンを右クリック > プロパティ
リンク先: "C:\Program Files\BOINC\boincmgr.exe" -n covid-19-01 -p AAAAAAAAA

BOINC Managerを起動
オプション > イベント・ログのオプション > 全てOFF
プロジェクト選択 > 操作 > 更新

チームに参加
Rosetta@home
rosetta@raspberrypi.linux.5ch
チームのランキング - Rosetta@home

イベント・ログにエラー
cc_config.xml の中に認識されないタグが見つかりました: <allow_gui_rpc_get>
cc_config.xml の中に認識されないタグが見つかりました: <max_stderr_file_size>
cc_config.xml の中に認識されないタグが見つかりました: <max_stdout_file_size>

$ sudo nano /var/lib/boinc-client/cc_config.xml

削除
保存: Ctrl + o > リターン
終了: Ctrl + x

BoincView

BOINC add-on software
BoincView
Windows10使用

BoincView.jpg

設定
ダウンロード解凍し、C:\Program Files (x86)に配置、起動
登録 > +アイコン

Name: COVID-19-01
Get data via network acess: ✔
Hostname: covid-19-01 31416
BOINC password: AAAAAAAAA
Apply

BoincTasks

BOINC add-on software
BoincTasks
Windows10使用

Boinc tasks.jpg

設定
計算機tab選択 > メニューの計算機 > 計算機を追加

計算機: COVID-19-01
IPアドレス: covid-19-01.local
ポート: 31416
パスワード: AAAAAAAAA

Netdata

Covid-19 netdata.jpg

インストール

Get Netdata | Learn Netdata
Install Netdata with kickstart.sh · Netdata Agent | Learn Netdata

複数台の場合、1台をParent(親機), 他をChild(子機)に設定
1台の場合、Parent(親機)に設定

$ bash <(curl -Ss https://my-netdata.io/kickstart.sh) --stable-channel --disable-cloud --disable-telemetry

再インストール
Reinstall the Netdata Agent · Netdata Agent | Learn Netdata

$ bash <(curl -Ss https://my-netdata.io/kickstart.sh) --stable-channel --disable-cloud --disable-telemetry --reinstall

ワンライナー
netdata/netdata-installer.sh at master · netdata/netdata · GitHub

設定

$ sudo /etc/netdata/edit-config netdata.conf
[global]
           history = 600
           memory mode = ram
           debug log = none
           error log = none
           access log = none
[web]
           enable gzip compression = no
[plugins]
           cgroups = no
           tc = no
           idlejitter = no

保存: Ctrl + o リターン
終了: Ctrl + x

温度センサー

$ sudo /etc/netdata/edit-config charts.d.conf

末尾に追記

sensors=force

保存: Ctrl + o リターン
終了: Ctrl + x

再起動

$ sudo service netdata restart

確認

http://covid-19-01.local:19999

fstab

$ sudo nano /etc/fstab

末尾に追記

tmpfs    /var/lib/netdata                  tmpfs    defaults,noatime,nodiratime,mode=1777  0       0

保存: Ctrl + o リターン
終了: Ctrl + x

$ sudo reboot

確認

$ df -h

アンインストール

https://learn.netdata.cloud/docs/agent/packaging/installer/uninstall

確認

$ cd ~
$ cd /etc/netdata/
$ ls -a

実行

$ sudo /usr/libexec/netdata/netdata-uninstaller.sh --yes --env /etc/netdata/.environment

ENTERの繰り返し

$ sudo reboot

Streaming

Streaming and replication | Learn Netdata

複数台をParent(親機)で管理する場合
Parent(親機)

$ sudo /etc/netdata/edit-config stream.conf

設定

# [API_KEY] is [YOUR-API-KEY], i.e [11111111-2222-3333-4444-555555555555]
[11111111-2222-3333-4444-555555555555]
  enabled = yes
  allow from = *
  default history = 3600
  default memory mode = ram
  health enabled by default = auto

保存: Ctrl + o リターン
終了: Ctrl + x

再起動

$ sudo service netdata restart

確認

http://covid-19-01.local:19999

Child(子機)
ヘッドレスコレクター

$ sudo /etc/netdata/edit-config stream.conf

設定

[stream]
    enabled = yes
    destination = covid-19-01.local:19999
    api key = 11111111-2222-3333-4444-555555555555

保存: Ctrl + o リターン
終了: Ctrl + x

$ sudo /etc/netdata/edit-config netdata.conf

設定

[global]
          history = 600
          memory mode = none
          debug log = none
          error log = none
          access log = none
[web]
          mode = none
          accept a streaming request every seconds = 0
          enable gzip compression = no
[plugins]
          cgroups = no
          tc = no
          idlejitter = no
[health]
          enabled = no

保存: Ctrl + o リターン
終了: Ctrl + x

再起動

$ sudo service netdata restart

確認

http://covid-19-01.local:19999

Modules

BOINC

BOINC monitoring with Netdata | Learn Netdata

Parent(親機), Child(子機)に設定
BOINCプラットフォームのみ

$ cd /etc/netdata
$ sudo ./edit-config python.d/boinc.conf

末尾に追記
実機のhostname

remote:
  hostname: covid-19-03
  password: AAAAAAAAA

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo service netdata restart

vcgencmd

RPI vcgencmd usage - eLinux.org
python.d.plugin - Netdata Documentation

Parent(親機), Child(子機)に設定

グループvideoに追加

$ sudo adduser netdata video
$ sudo reboot

確認

$ vcgencmd get_throttled
0x0 正常
0x50005 現在 低電圧
0x80008 現在 熱によりクロックダウン
0x50000 過去 低電圧状態になったが現在は正常
0x80000 過去 熱によりクロックダウンし現在は正常

Raspberry Pi Documentation
Monitoring Raspberry Pi Power and Thermal Issues

0 現在 低電圧
1 現在 クロックダウン
2 現在 スロットリング
3 現在 ソフト温度制限
16 過去 低電圧 (現在正常)
17 過去 周波数制限 (現在正常)
18 過去 スロットリング (現在正常)
19 過去 ソフト温度制限 (現在正常)

メモ

measure_clock [clock]
$ vcgencmd measure_clock arm;vcgencmd measure_clock core;vcgencmd measure_clock H264;vcgencmd measure_clock isp;vcgencmd measure_clock v3d;vcgencmd measure_clock uart;vcgencmd measure_clock pwm;vcgencmd measure_clock emmc;vcgencmd measure_clock pixel;vcgencmd measure_clock vec;vcgencmd measure_clock hdmi;vcgencmd measure_clock dpi
measure_volts [block]
$ vcgencmd measure_volts core;vcgencmd measure_volts sdram_c;vcgencmd measure_volts sdram_i;vcgencmd measure_volts sdram_p
otp_dump
$ vcgencmd otp_dump
get_mem type
$ vcgencmd get_mem arm;vcgencmd get_mem gpu;cat /proc/meminfo
codec_enabled [type]
$ vcgencmd codec_enabled AGIF;vcgencmd codec_enabled FLAC;vcgencmd codec_enabled H263;vcgencmd codec_enabled H264;vcgencmd codec_enabled MJPA;vcgencmd codec_enabled MJPB;vcgencmd codec_enabled MJPG;vcgencmd codec_enabled MPG2;vcgencmd codec_enabled MPG4;vcgencmd codec_enabled MVC0;vcgencmd codec_enabled PCM;vcgencmd codec_enabled THRA;vcgencmd codec_enabled VORB;vcgencmd codec_enabled VP6;vcgencmd codec_enabled VP8;vcgencmd codec_enabled WMV9;vcgencmd codec_enabled WVC1
read_ring_osc
$ vcgencmd read_ring_osc
display_power [0 | 1 | -1] [display]
$ vcgencmd display_power

設定

$ sudo nano /usr/libexec/netdata/python.d/vcgencmd.chart.py
# -*- coding: utf-8 -*-

from bases.FrameworkServices.ExecutableService import ExecutableService

ORDER = ["under-voltage", "arm-frequency", "throttling", "soft-temperature-limit"]

CHARTS = {
    "under-voltage": {
        "options": [
            "vcgencmd get_throttled",
            "Under-voltage detected",
            "",
            "under-voltage",
            "",
            "line",
        ],
        "lines": [["under-voltage"]],
    },
    "arm-frequency": {
        "options": [
            "vcgencmd get_throttled",
            "Arm frequency capped",
            "",
            "arm-frequency",
            "",
            "line",
        ],
        "lines": [["arm-frequency"]],
    },
    "throttling": {
        "options": [
            "vcgencmd get_throttled",
            "Currently throttled",
            "",
            "throttling",
            "",
            "line",
        ],
        "lines": [["throttling"]],
    },
    "soft-temperature-limit": {
        "options": [
            "vcgencmd get_throttled",
            "Soft temperature limit active",
            "",
            "soft-temperature-limit",
            "",
            "line",
        ],
        "lines": [["soft-temperature-limit"]],
    },
}

VCGENCMD_COMMAND = "vcgencmd get_throttled"


class Service(ExecutableService):
    def __init__(self, configuration=None, name=None):
        ExecutableService.__init__(self, configuration=configuration, name=name)
        self.order = ORDER
        self.definitions = CHARTS
        self.command = VCGENCMD_COMMAND

    def _get_data(self):
        try:
            raw = self._get_raw_data()
            throttled_binary = bin(int(raw[0].split("=")[1], 0))
            if throttled_binary == "0b0":
                throttled_binary = "0b0000000000000000000"
            return {
                "under-voltage": throttled_binary[-1],
                "arm-frequency": throttled_binary[-2],
                "throttling": throttled_binary[-3],
                "soft-temperature-limit": throttled_binary[-4],
            }
        except (ValueError, AttributeError):
            return None

保存: Ctrl + o リターン
終了: Ctrl + x

$ sudo nano /usr/lib/netdata/conf.d/python.d/vcgencmd.conf

設定

types:
  - under-voltage
  - arm-frequency
  - throttling
  - soft-temperature-limit

保存: Ctrl + o リターン
終了: Ctrl + x

debug

$ sudo su -s /bin/bash netdata
$ /usr/libexec/netdata/plugins.d/python.d.plugin vcgencmd debug trace nolock

Ctrl + c > 停止
Ctrl + d > ログアウト

登録

$ sudo /etc/netdata/edit-config python.d.conf

末尾に追記

vcgencmd: yes

保存: Ctrl + o リターン
終了: Ctrl + x

再起動

$ sudo service netdata restart

確認

http://covid-19-01.local:19999

throttling

RPI vcgencmd usage - eLinux.org
Frequency management and thermal control - Raspberry Pi Documentation
python.d.plugin - Netdata Documentation

Parent(親機), Child(子機)に設定

※vcgencmdと内容が重複してる

グループvideoに追加

$ sudo adduser netdata video
$ sudo reboot

確認

$ vcgencmd get_throttled
throttled=0x0
0x0 正常
0x50000 過去 低電圧状態になったが現在は正常
0x50005 現在 低電圧状態
0x80000 過去 熱によりクロックダウン
0x80008 現在 熱によりクロックダウン

0x50005を{"voltage": 1}
0x80008を{"voltage": 2}
その他を{"voltage": 0}に振り分けてみる

$ sudo nano /usr/libexec/netdata/python.d/throttle.chart.py

設定

# -*- coding: utf-8 -*-

from bases.FrameworkServices.ExecutableService import ExecutableService

VCGENCMD_COMMAND = "vcgencmd get_throttled"

ORDER = ["throttle"]

CHARTS = {
    "throttle": {
        "options": [
            "vcgencmd get_throttled",
            "CPU throttling or under-voltage",
            "",
            "voltage",
            "",
            "line",
        ],
        "lines": [["voltage", "throttle", "absolute", 1]],
    }
}


class Service(ExecutableService):
    def __init__(self, configuration=None, name=None):
        ExecutableService.__init__(self, configuration=configuration, name=name)
        self.order = ORDER
        self.definitions = CHARTS
        self.command = VCGENCMD_COMMAND

    def _get_data(self):
        try:
            raw = self._get_raw_data()
            str = raw[0].split("=")[1].replace("\n", "")
            if str == "0x50005":
                return {"voltage": 1}
            elif str == "0x80008":
                return {"voltage": 2}
            else:
                return {"voltage": 0}
        except (ValueError, AttributeError):
            return None

保存: Ctrl + o リターン
終了: Ctrl + x

$ sudo nano /usr/lib/netdata/conf.d/python.d/throttle.conf

設定

types:
  - throttle

保存: Ctrl + o リターン
終了: Ctrl + x

debug

$ sudo su -s /bin/bash netdata
$ /usr/libexec/netdata/plugins.d/python.d.plugin throttle debug trace
Ctrl + c > 停止
Ctrl + d > ログアウト

登録

$ sudo /etc/netdata/edit-config python.d.conf

末尾に追記

throttle: yes

保存: Ctrl + o リターン
終了: Ctrl + x

再起動

$ sudo service netdata restart

確認

http://covid-19-01.local:19999

core-voltage

RPI vcgencmd usage - eLinux.org
python.d.plugin - Netdata Documentation

Parent(親機), Child(子機)に設定

グループvideoに追加

$ sudo adduser netdata video
$ sudo reboot

確認

$ vcgencmd measure_volts
volt=1.2000V
$ sudo nano /usr/libexec/netdata/python.d/volts.chart.py

設定

# -*- coding: utf-8 -*-

from bases.FrameworkServices.ExecutableService import ExecutableService

VCGENCMD_COMMAND = "vcgencmd measure_volts"

ORDER = ["volts"]

CHARTS = {
    "volts": {
        "options": [
            "vcgencmd measure_volts",
            "Core voltage",
            "",
            "volt",
            "volts",
            "line",
        ],
        "lines": [["voltage", "volt", "absolute", 1]],
    }
}


class Service(ExecutableService):
    def __init__(self, configuration=None, name=None):
        ExecutableService.__init__(self, configuration=configuration, name=name)
        self.order = ORDER
        self.definitions = CHARTS
        self.command = VCGENCMD_COMMAND

    def _get_data(self):
        try:
            raw = self._get_raw_data()
            str = raw[0].split("=")[1].replace("V\n", "")
            str_float = float(str) * 1000
            return {"voltage": str_float}
        except (ValueError, AttributeError):
            return None

保存: Ctrl + o リターン
終了: Ctrl + x

$ sudo nano /usr/lib/netdata/conf.d/python.d/volts.conf

設定

types:
  - core-voltage

保存: Ctrl + o リターン
終了: Ctrl + x

debug

$ sudo su -s /bin/bash netdata
$ /usr/libexec/netdata/plugins.d/python.d.plugin volts debug trace
Ctrl + c > 停止
Ctrl + d > ログアウト

登録

$ sudo /etc/netdata/edit-config python.d.conf

末尾に追記

volts: yes

保存: Ctrl + o リターン
終了: Ctrl + x

再起動

$ sudo service netdata restart

確認

http://covid-19-01.local:19999

freqmode

python.d.plugin - Netdata Documentation

Parent(親機), Child(子機)に設定

インストール

$ sudo apt install cpufrequtils

確認

$ cpufreq-info -p
600000 1200000 performance

こんな感じにしてみる

cpufreq value
powersave 0
conservative 1
ondemand 2
performance 3
$ sudo nano /usr/libexec/netdata/python.d/freqmode.chart.py

設定

# -*- coding: utf-8 -*-

from bases.FrameworkServices.ExecutableService import ExecutableService

COMMAND = "cpufreq-info -p"

ORDER = ["FreqMode"]

CHARTS = {
    "FreqMode": {
        "options": [None, "FreqMode", "", "FreqMode", "FreqMode", "line"],
        "lines": [["freqmode", "FreqMode", "absolute", 1]],
    }
}


class Service(ExecutableService):
    def __init__(self, configuration=None, name=None):
        ExecutableService.__init__(self, configuration=configuration, name=name)
        self.order = ORDER
        self.definitions = CHARTS
        self.command = COMMAND

    def _get_data(self):
        try:
            raw = self._get_raw_data()
            str = raw[0].split(" ")[2].replace("\n", "")
            if str == "powersave":
                return {"freqmode": 0}
            elif str == "conservative":
                return {"freqmode": 1}
            elif str == "ondemand":
                return {"freqmode": 2}
            elif str == "performance":
                return {"freqmode": 3}
        except (ValueError, AttributeError):
            return None

保存: Ctrl + o リターン
終了: Ctrl + x

$ sudo nano /usr/lib/netdata/conf.d/python.d/freqmode.conf

設定

types:
  - freqmode

保存: Ctrl + o リターン
終了: Ctrl + x

debug

$ sudo su -s /bin/bash netdata
$ /usr/libexec/netdata/plugins.d/python.d.plugin freqmode debug trace
Ctrl + c > 停止
Ctrl + d > ログアウト

登録

$ sudo /etc/netdata/edit-config python.d.conf

末尾に追記

freqmode: yes

保存: Ctrl + o リターン
終了: Ctrl + x

再起動

$ sudo service netdata restart

確認

http://covid-19-01.local:19999

reboot-required

unattended-upgradesの再起動要求を監視

Parent(親機), Child(子機)に設定

確認
reboot-requiredのファイルがある場合、再起動が必要

$ test -e /var/run/reboot-required; echo $?

0: 再起動必要
1: 再起動必要ない

設定

$ sudo nano /usr/libexec/netdata/python.d/reboot_required.chart.py

0と1逆にしておく

# -*- coding: utf-8 -*-

from bases.FrameworkServices.ExecutableService import ExecutableService

ORDER = ["reboot-required"]

CHARTS = {
    "reboot-required": {
        "options": [None, "Reboot Required", "bool", "", "reboot.required", "line"],
        "lines": [["reboot-required"]],
    }
}

COMMAND = "test -e /var/run/reboot-required"


class Service(ExecutableService):
    def __init__(self, configuration=None, name=None):
        ExecutableService.__init__(self, configuration=configuration, name=name)
        self.order = ORDER
        self.definitions = CHARTS
        self.command = COMMAND

    def _get_data(self):
        try:
            raw = self._get_raw_data()
            if raw == "0":
                return {"reboot-required": 1}
            else:
                return {"reboot-required": 0}
        except (ValueError, AttributeError):
            return None

保存: Ctrl + o リターン
終了: Ctrl + x

$ sudo nano /usr/lib/netdata/conf.d/python.d/reboot_required.conf

設定

update_every: 15
priority: 60000
retries: 60

保存: Ctrl + o リターン
終了: Ctrl + x

debug

$ sudo su -s /bin/bash netdata
$ /usr/libexec/netdata/plugins.d/python.d.plugin reboot_required debug trace nolock

Ctrl + c > 停止
Ctrl + d > ログアウト

登録

$ sudo /etc/netdata/edit-config python.d.conf

末尾に追記

reboot_required: yes

保存: Ctrl + o リターン
終了: Ctrl + x

再起動

$ sudo service netdata restart

確認

http://covid-19-01.local:19999

Alarms

Health quickstart | Learn Netdata
Health configuration reference · Netdata Agent | Learn Netdata

調整

Parent(親機)に設定

swap.conf 停止
ram.conf しきい値調整

$ cd /etc/netdata/
$ sudo ./edit-config health.d/swap.conf

設定

#      to: sysadmin
       to: silent

保存: Ctrl + o > リターン
終了: Ctrl + x

$ cd /etc/netdata/
$ sudo ./edit-config health.d/ram.conf

変更

   alarm: ram_available
      on: mem.available
      os: linux
   hosts: *
    calc: ($avail + $system.ram.used_ram_to_ignore) * 100 / ($system.ram.used + $syste$
   units: %
   every: 10s
#   warn: $this < (($status >= $WARNING)  ? (15) : (10))
#   crit: $this < (($status == $CRITICAL) ? (10) : ( 5))
    warn: $this < (($status >= $WARNING)  ? ( 7.5) : ( 5))
    crit: $this < (($status == $CRITICAL) ? ( 5) : ( 2.5))
   delay: down 15m multiplier 1.5 max 1h
    info: estimated amount of RAM available for userspace processes, without causing s$
      to: sysadmin

保存: Ctrl + o > リターン
終了: Ctrl + x

リロード

$ sudo netdatacli reload-health

オーバーヒート

Parent(親機)に設定

sensors=forceの温度使用
70度でwarning
80度でcritical

$ cd /etc/netdata/
$ sudo ./edit-config health.d/temperature.conf

設定

template: thermal_temperature
on: sensors.temp
os: linux
lookup: average -1m max
units: celsius
every: 10s
warn: $this > 70
crit: $this > 80
info: Thermal Temperature
to: sysadmin

保存: Ctrl + o リターン
終了: Ctrl + x

リロード

$ sudo netdatacli reload-health

再起動要求

Parent(親機)に設定

reboot_required.chart.py使用
1でcritical = 再起動要求

$ cd /etc/netdata/
$ sudo touch health.d/reboot_required.conf
$ sudo ./edit-config health.d/reboot_required.conf

設定

template: reboot_required
on: reboot.required
os: linux
lookup: average -15s max
units: bool
every: 15s
crit: $this > 0.5
info: Reboot Required
to: sysadmin

保存: Ctrl + o リターン
終了: Ctrl + x

リロード

$ sudo netdatacli reload-health

Email

Email | Learn Netdata

Parent(親機)に設定

$ sudo /etc/netdata/edit-config health_alarm_notify.conf

設定
criticalのみ

sendmail="/usr/bin/msmtp"
SEND_EMAIL="YES"
EMAIL_PLAINTEXT_ONLY="YES"
DEFAULT_RECIPIENT_EMAIL="*****@gmail.com|critical"

保存: Ctrl + o リターン
終了: Ctrl + x

確認

$ sudo su -s /bin/bash netdata
$ /usr/libexec/netdata/plugins.d/alarm-notify.sh test [ROLE]

終了: Ctrl + d

更新履歴

  • 2021.12.24 全体見直し
  • 2021.05.05 設定見直し
  • 2021.03.29 設定見直し
  • 2021.01.03 TN-Grid追加
  • 2020.11.07 Folding@home追加
  • 2020.10.18 World Community Grid追加
  • 2020.05.03 書き直し
  • 2020.04.06 公開