Linux (Ubuntu)で標準のエディタを設定する

2 つある。

この仕様を考えたのは誰だあ。

visudo とか git commit のメッセージ編集では主に update-alternatives
crontabselect-editor で設定する必要がある。

wnoguchi@serial:~$ sudo crontab -e
no crontab for root - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /usr/bin/emacs25
  5. /bin/ed

Choose 1-5 [1]: ^C
No modification made
wnoguchi@serial:~$ sudo update-alternatives --config editor
alternative editor (/usr/bin/editor を提供) には 5 個の選択肢があります。

  選択肢    パス              優先度  状態
------------------------------------------------------------
* 0            /bin/nano            40        自動モード
  1            /bin/ed             -100       手動モード
  2            /bin/nano            40        手動モード
  3            /usr/bin/emacs25     0         手動モード
  4            /usr/bin/vim.basic   30        手動モード
  5            /usr/bin/vim.tiny    15        手動モード

現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: 4
update-alternatives: /usr/bin/editor (editor) を提供するためにマニュアルモードで /usr/bin/vim.basic を使います
wnoguchi@serial:~$ select-editor
touch: '/home/wnoguchi/.selected_editor' に touch できません: 許可がありません
wnoguchi@serial:~$ sudo select-editor

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /usr/bin/emacs25
  5. /bin/ed

Choose 1-5 [1]: 2

[12/29] Ubuntu 17.10 (Artful Aardvark) Git LFS パッケージリポジトリがみつからないってゆってる

年末にこんなことをやっているのがそもそも良くないのかもしれない。

wnoguchi@serial:~$ sudo apt -y update && sudo apt -y upgrade --auto-remove && sudo systemctl reboot
取得:1 http://security.ubuntu.com/ubuntu artful-security InRelease [78.6 kB]
ヒット:2 http://ppa.launchpad.net/git-core/ppa/ubuntu artful InRelease
無視:3 https://packagecloud.io/github/git-lfs/ubuntu artful InRelease
取得:4 http://security.ubuntu.com/ubuntu artful-security/main amd64 DEP-11 Metadata [204 B]
取得:5 http://security.ubuntu.com/ubuntu artful-security/universe amd64 DEP-11 Metadata [10.2 kB]
エラー:6 https://packagecloud.io/github/git-lfs/ubuntu artful Release
  404  Not Found
ヒット:7 http://jp.archive.ubuntu.com/ubuntu artful InRelease
取得:8 http://jp.archive.ubuntu.com/ubuntu artful-updates InRelease [78.6 kB]
取得:9 http://jp.archive.ubuntu.com/ubuntu artful-backports InRelease [72.2 kB]
取得:10 http://jp.archive.ubuntu.com/ubuntu artful-updates/main amd64 DEP-11 Metadata [56.6 kB]
取得:11 http://jp.archive.ubuntu.com/ubuntu artful-updates/main DEP-11 64x64 Icons [35.2 kB]
取得:12 http://jp.archive.ubuntu.com/ubuntu artful-updates/universe amd64 DEP-11 Metadata [48.3 kB]
取得:13 http://jp.archive.ubuntu.com/ubuntu artful-updates/universe DEP-11 64x64 Icons [48.4 kB]
パッケージリストを読み込んでいます... 完了
E: リポジトリ https://packagecloud.io/github/git-lfs/ubuntu artful Release には Release ファイルがありません。
N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。
N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。
wnoguchi@serial:~$ git lfs
git-lfs/2.2.1 (GitHub; linux amd64; go 1.8.1)
Sorry, no usage text found for "git-lfs"

17.10 (Artful Aardvark) なんだけど 404 になってる。
圧倒的な Rails の 404 。

先日 Git LFS 入れたときはそんなことなかったんだけどな。

  1. Missing apt repository for Ubuntu 17.10 Artful · Issue #2702 · git-lfs/git-lfs

同じようなのが 10 月に issue あがっているがどうなんだ。
似たような issue ないか最近探してみたけどない。

俺がインストールした Git LFS は幻だったのか?と思ってヒストリ辿ってみたらインストールした形跡あった。

wnoguchi@serial:~$ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
Detected operating system as Ubuntu/artful.
Checking for curl...
Detected curl...
Checking for gpg...
Detected gpg...
Running apt-get update... done.
Installing apt-transport-https... done.
Installing /etc/apt/sources.list.d/github_git-lfs.list...done.
Importing packagecloud gpg key... done.
Running apt-get update... done.

The repository is setup! You can now install packages.
wnoguchi@serial:~$ ./updater.sh
ヒット:1 http://jp.archive.ubuntu.com/ubuntu artful InRelease
ヒット:2 http://jp.archive.ubuntu.com/ubuntu artful-updates InRelease
ヒット:3 http://jp.archive.ubuntu.com/ubuntu artful-backports InRelease
ヒット:4 http://security.ubuntu.com/ubuntu artful-security InRelease
ヒット:5 http://ppa.launchpad.net/git-core/ppa/ubuntu artful InRelease
無視:6 https://packagecloud.io/github/git-lfs/ubuntu artful InRelease
エラー:7 https://packagecloud.io/github/git-lfs/ubuntu artful Release
  404  Not Found
パッケージリストを読み込んでいます... 完了
E: リポジトリ https://packagecloud.io/github/git-lfs/ubuntu artful Release には Release ファイルがありません。
N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。
N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。
  1. Installation · git-lfs/git-lfs Wiki
  2. apt-get updateでエラーが出た(Ubuntu) | Hornet|静岡拠点のWeb、ホームページ制作

とりあえず更新できないのは困るので git lfs はコメントアウトするとかして除外する。

sudo vim /etc/apt/sources.list

見つからねえ

こういうのは *.d ディレクトリがあるって相場が決まってる。

これだ

sudo vim /etc/apt/sources.list.d/github_git-lfs.list

deb https://packagecloud.io/github/git-lfs/ubuntu/ artful main
deb-src https://packagecloud.io/github/git-lfs/ubuntu/ artful main
↓
#deb https://packagecloud.io/github/git-lfs/ubuntu/ artful main
#deb-src https://packagecloud.io/github/git-lfs/ubuntu/ artful main

とりあえず除外してうまくいった。

wnoguchi@serial:~$ sudo apt -y update && sudo apt -y upgrade --auto-remove && sudo systemctl reboot
ヒット:1 http://jp.archive.ubuntu.com/ubuntu artful InRelease
ヒット:2 http://jp.archive.ubuntu.com/ubuntu artful-updates InRelease
ヒット:3 http://jp.archive.ubuntu.com/ubuntu artful-backports InRelease
ヒット:4 http://security.ubuntu.com/ubuntu artful-security InRelease
ヒット:5 http://ppa.launchpad.net/git-core/ppa/ubuntu artful InRelease
無視:6 https://packagecloud.io/github/git-lfs/ubuntu artful InRelease
エラー:7 https://packagecloud.io/github/git-lfs/ubuntu artful Release
  404  Not Found
パッケージリストを読み込んでいます... 完了
アップグレードできるパッケージが 5 個あります。表示するには 'apt list --upgradable' を実行してください。
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージが新たにインストールされます:
  libpcre2-8-0
以下のパッケージはアップグレードされます:
  firefox firefox-locale-en firefox-locale-ja git git-man
アップグレード: 5 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
51.6 MB のアーカイブを取得する必要があります。
この操作後に追加で 4,865 kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu artful/universe amd64 libpcre2-8-0 amd64 10.22-3 [165 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu artful-updates/main amd64 firefox amd64 57.0.3+build1-0ubuntu0.17.10.1 [44.1 MB]
取得:3 http://ppa.launchpad.net/git-core/ppa/ubuntu artful/main amd64 git amd64 1:2.15.1-1~ppa0~ubuntu17.10.1 [4,570 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu artful-updates/main amd64 firefox-locale-en amd64 57.0.3+build1-0ubuntu0.17.10.1 [692 kB]
取得:5 http://jp.archive.ubuntu.com/ubuntu artful-updates/main amd64 firefox-locale-ja amd64 57.0.3+build1-0ubuntu0.17.10.1 [482 kB]
取得:6 http://ppa.launchpad.net/git-core/ppa/ubuntu artful/main amd64 git-man all 1:2.15.1-1~ppa0~ubuntu17.10.1 [1,514 kB]
51.6 MB を 22秒 で取得しました (2,280 kB/s)
(データベースを読み込んでいます ... 現在 173754 個のファイルとディレクトリがインストールされています。)
.../0-git_1%3a2.15.1-1~ppa0~ubuntu17.10.1_amd64.deb を展開する準備をしています ...
git (1:2.15.1-1~ppa0~ubuntu17.10.1) で (1:2.14.1-1ubuntu4 に) 上書き展開しています ...
.../1-git-man_1%3a2.15.1-1~ppa0~ubuntu17.10.1_all.deb を展開する準備をしています ...
git-man (1:2.15.1-1~ppa0~ubuntu17.10.1) で (1:2.14.1-1ubuntu4 に) 上書き展開しています ...
以前に未選択のパッケージ libpcre2-8-0:amd64 を選択しています。
.../2-libpcre2-8-0_10.22-3_amd64.deb を展開する準備をしています ...
libpcre2-8-0:amd64 (10.22-3) を展開しています...
.../3-firefox_57.0.3+build1-0ubuntu0.17.10.1_amd64.deb を展開する準備をしています ...
firefox (57.0.3+build1-0ubuntu0.17.10.1) で (57.0.1+build2-0ubuntu0.17.10.1 に) 上書き展開しています ...
.../4-firefox-locale-en_57.0.3+build1-0ubuntu0.17.10.1_amd64.deb を展開する準備をしています ...
firefox-locale-en (57.0.3+build1-0ubuntu0.17.10.1) で (57.0.1+build2-0ubuntu0.17.10.1 に) 上書き展開しています ...
.../5-firefox-locale-ja_57.0.3+build1-0ubuntu0.17.10.1_amd64.deb を展開する準備をしています ...
firefox-locale-ja (57.0.3+build1-0ubuntu0.17.10.1) で (57.0.1+build2-0ubuntu0.17.10.1 に) 上書き展開しています ...
git-man (1:2.15.1-1~ppa0~ubuntu17.10.1) を設定しています ...
firefox-locale-ja (57.0.3+build1-0ubuntu0.17.10.1) を設定しています ...
firefox-locale-en (57.0.3+build1-0ubuntu0.17.10.1) を設定しています ...
mime-support (3.60ubuntu1) のトリガを処理しています ...
desktop-file-utils (0.23-1ubuntu3) のトリガを処理しています ...
libc-bin (2.26-0ubuntu2) のトリガを処理しています ...
firefox (57.0.3+build1-0ubuntu0.17.10.1) を設定しています ...
Please restart all running instances of firefox, or you will experience problems.
man-db (2.7.6.1-2) のトリガを処理しています ...
gnome-menus (3.13.3-6ubuntu5) のトリガを処理しています ...
libpcre2-8-0:amd64 (10.22-3) を設定しています ...
hicolor-icon-theme (0.17-1) のトリガを処理しています ...
git (1:2.15.1-1~ppa0~ubuntu17.10.1) を設定しています ...
libc-bin (2.26-0ubuntu2) のトリガを処理しています ...

根本的に何かが解決したわけじゃないが、時間おいて見に行けばなんとかなるのではないだろうか。
LTS じゃないしこんなことは日常茶飯事だろう。

ここでブーブー文句垂れていても何も解決しないし世間様に何も貢献していない気がするのですこし考え直して GitHub の Issue 起こしておいた。

Ubuntu 17.10 artful repository not found. · Issue #2804 · git-lfs/git-lfs

LPIC2: Linux カーネル

[root@px-lpic1-centos6 ~]# find /lib/modules/`uname -r`/kernel -name "*.ko" | head
/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/lockd/lockd.ko
/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/squashfs/squashfs.ko
/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/udf/udf.ko
/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/autofs4/autofs4.ko
/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/jffs2/jffs2.ko
/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/exportfs/exportfs.ko
/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/nfs_common/nfs_acl.ko
/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/gfs2/gfs2.ko
/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/ext4/ext4.ko
/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/jbd/jbd.ko
[root@px-lpic1-centos6 ~]# modinfo ext4
filename:       /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/ext4/ext4.ko
license:        GPL
description:    Fourth Extended Filesystem
author:         Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
srcversion:     74AEE2BDA63AC8482A78F4D
depends:        mbcache,jbd2
vermagic:       2.6.32-696.3.1.el6.x86_64 SMP mod_unload modversions
[root@px-lpic1-centos6 ~]# lsmod | head
Module                  Size  Used by
autofs4                27000  3
8021q                  20475  0
garp                    7152  1 8021q
stp                     2218  1 garp
llc                     5418  2 garp,stp
ipt_REJECT              2383  2
nf_conntrack_ipv4       9186  2
nf_defrag_ipv4          1483  1 nf_conntrack_ipv4
iptable_filter          2793  1
[root@px-lpic1-centos6 ~]# find /lib/modules/`uname -r`/kernel -name "autofs4.ko"
/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/autofs4/autofs4.ko
[root@px-lpic1-centos6 ~]# find /lib/modules/`uname -r`/kernel -name "autofs4.ko" | xargs ls -lh
-rwxr--r--. 1 root root 58K  5月 31 05:07 2017 /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/autofs4/autofs4.ko
[root@px-lpic1-centos6 ~]# cat /proc/modules | head
autofs4 27000 3 - Live 0xffffffffa0578000
8021q 20475 0 - Live 0xffffffffa056e000
garp 7152 1 8021q, Live 0xffffffffa0568000
stp 2218 1 garp, Live 0xffffffffa0564000
llc 5418 2 garp,stp, Live 0xffffffffa055e000
ipt_REJECT 2383 2 - Live 0xffffffffa0533000
nf_conntrack_ipv4 9186 2 - Live 0xffffffffa052c000
nf_defrag_ipv4 1483 1 nf_conntrack_ipv4, Live 0xffffffffa0528000
iptable_filter 2793 1 - Live 0xffffffffa0524000
ip_tables 17895 1 iptable_filter, Live 0xffffffffa051b000
[root@px-lpic1-centos6 ~]# modinfo -a ext4
Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
[root@px-lpic1-centos6 ~]# modinfo -d ext4
Fourth Extended Filesystem
[root@px-lpic1-centos6 ~]# modinfo -l ext4
GPL
[root@px-lpic1-centos6 ~]# modinfo -n ext4
/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/ext4/ext4.ko
[root@px-lpic1-centos6 ~]# modinfo ext4
filename:       /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/ext4/ext4.ko
license:        GPL
description:    Fourth Extended Filesystem
author:         Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
srcversion:     74AEE2BDA63AC8482A78F4D
depends:        mbcache,jbd2
vermagic:       2.6.32-696.3.1.el6.x86_64 SMP mod_unload modversions
[root@px-lpic1-centos6 ~]# lsmod | grep xfs
[root@px-lpic1-centos6 ~]# modinfo xfs
filename:       /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/xfs/xfs.ko
license:        GPL
description:    SGI XFS with ACLs, security attributes, large block/inode numbers, no debug enabled
author:         Silicon Graphics, Inc.
srcversion:     06CA178475DC4F7F5169D42
depends:        exportfs
vermagic:       2.6.32-696.3.1.el6.x86_64 SMP mod_unload modversions
[root@px-lpic1-centos6 ~]# lsmod | grep exportfs
[root@px-lpic1-centos6 ~]# modinfo exportfs
filename:       /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/exportfs/exportfs.ko
license:        GPL
srcversion:     1CA651A66F2E2EBCEAD08AC
depends:
vermagic:       2.6.32-696.3.1.el6.x86_64 SMP mod_unload modversions
[root@px-lpic1-centos6 ~]# insmod /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/exportfs/exportfs.ko
[root@px-lpic1-centos6 ~]# lsmod | grep exportfs
exportfs                4236  0
[root@px-lpic1-centos6 ~]# rmmod /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/exportfs/exportfs.ko
# xfs カーネルモジュールは exportfs カーネルモジュールに依存しているので先に exportfs カーネルモジュールをロードする必要がある
[root@px-lpic1-centos6 ~]# insmod /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/xfs/xfs.ko
insmod: error inserting '/lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/xfs/xfs.ko': -1 Unknown symbol in module
[root@px-lpic1-centos6 ~]# insmod /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/exportfs/exportfs.ko
[root@px-lpic1-centos6 ~]# insmod /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/xfs/xfs.ko
[root@px-lpic1-centos6 ~]# lsmod | egrep "(exportfs|xfs)"
xfs                  1135639  0
exportfs                4236  1 xfs
[root@px-lpic1-centos6 ~]# rmmod exportfs
ERROR: Module exportfs is in use by xfs
[root@px-lpic1-centos6 ~]# rmmod -s exportfs
[root@px-lpic1-centos6 ~]# tail -n1 /var/log/messages
Jul  7 08:52:00 px-lpic1-centos6 rmmod: ERROR: Module exportfs is in use by xfs

modprobe

[root@px-lpic1-centos6 ~]# rmmod xfs
[root@px-lpic1-centos6 ~]# rmmod exportfs
[root@px-lpic1-centos6 ~]# modprobe xfs
[root@px-lpic1-centos6 ~]# modprobe -r xfs
[root@px-lpic1-centos6 ~]# lsmod | egrep "(exportfs|xfs)"
[root@px-lpic1-centos6 ~]# modprobe xfs
[root@px-lpic1-centos6 ~]# lsmod | egrep "(exportfs|xfs)"
xfs                  1135639  0
exportfs                4236  1 xfs
[root@px-lpic1-centos6 ~]# modprobe -r xfs
[root@px-lpic1-centos6 ~]# lsmod | egrep "(exportfs|xfs)"
[root@px-lpic1-centos6 ~]# modprobe -lt fs | head
kernel/fs/nfs_common/nfs_acl.ko
kernel/fs/nls/nls_cp737.ko
kernel/fs/nls/nls_cp775.ko
kernel/fs/nls/nls_cp850.ko
kernel/fs/nls/nls_cp852.ko
kernel/fs/nls/nls_cp855.ko
kernel/fs/nls/nls_cp857.ko
kernel/fs/nls/nls_cp860.ko
kernel/fs/nls/nls_cp861.ko
kernel/fs/nls/nls_cp862.ko
[root@px-lpic1-centos6 ~]# modprobe --show-depends ext3
insmod /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/mbcache.ko
insmod /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/jbd/jbd.ko
insmod /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/ext3/ext3.ko
[root@px-lpic1-centos6 ~]# modinfo ext3
filename:       /lib/modules/2.6.32-696.3.1.el6.x86_64/kernel/fs/ext3/ext3.ko
license:        GPL
description:    Second Extended Filesystem with journaling extensions
author:         Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
srcversion:     CF8EACB0D78355F028912B4
depends:        mbcache,jbd
vermagic:       2.6.32-696.3.1.el6.x86_64 SMP mod_unload modversions

よーし、おじさん iperf3 でネットワークの帯域測定しちゃうぞー(上り編)

iperfの使い方 | CCNA対策から学ぶネットワーク運用ガイド

$ iperf3 -v
iperf 3.1.3
Darwin Wataru-no-MacBook-Air.local 15.6.0 Darwin Kernel Version 15.6.0: Mon Aug 29 20:21:34 PDT 2016; root:xnu-3248.60.11~1/RELEASE_X86_64 x86_64
Optional features available: sendfile / zerocopy

上り側(サーバー)

その前に F/W のポートをあけておく。

別に永続的に開けたいわけではないので --permanent はつけない

firewall-cmd --zone=public --add-port=5201/tcp
# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

iperf3 ではデフォルトリッスンポート 5201/tcp なのだろうか。

下り側(クライアント)

iperf3 -c 192.0.3.4
Connecting to host 192.0.3.4, port 5201
[  4] local 192.168.0.2 port 63051 connected to 192.0.3.4 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  10.9 MBytes  91.6 Mbits/sec
[  4]   1.00-2.00   sec  11.1 MBytes  93.3 Mbits/sec
[  4]   2.00-3.00   sec  9.70 MBytes  81.4 Mbits/sec
[  4]   3.00-4.00   sec  11.4 MBytes  96.0 Mbits/sec
[  4]   4.00-5.00   sec  11.2 MBytes  93.7 Mbits/sec
[  4]   5.00-6.00   sec  11.3 MBytes  94.7 Mbits/sec
[  4]   6.00-7.00   sec  11.3 MBytes  94.5 Mbits/sec
[  4]   7.00-8.00   sec  11.0 MBytes  92.7 Mbits/sec
[  4]   8.00-9.00   sec  11.4 MBytes  96.0 Mbits/sec
[  4]   9.00-10.00  sec  11.3 MBytes  95.2 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   111 MBytes  92.9 Mbits/sec                  sender
[  4]   0.00-10.00  sec   110 MBytes  92.5 Mbits/sec                  receiver

iperf Done.

上り側では次のような結果が出ている

-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.0.2.123, port 63050
[  5] local 192.0.3.4 port 5201 connected to 192.0.2.123 port 63051
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec  10.4 MBytes  87.2 Mbits/sec
[  5]   1.00-2.00   sec  11.2 MBytes  93.8 Mbits/sec
[  5]   2.00-3.00   sec  9.68 MBytes  81.2 Mbits/sec
[  5]   3.00-4.00   sec  11.3 MBytes  95.1 Mbits/sec
[  5]   4.00-5.00   sec  11.1 MBytes  93.4 Mbits/sec
[  5]   5.00-6.00   sec  11.3 MBytes  95.0 Mbits/sec
[  5]   6.00-7.00   sec  11.3 MBytes  94.5 Mbits/sec
[  5]   7.00-8.00   sec  11.2 MBytes  93.7 Mbits/sec
[  5]   8.00-9.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   9.00-10.00  sec  11.3 MBytes  95.0 Mbits/sec
[  5]  10.00-10.01  sec   112 KBytes   102 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.01  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-10.01  sec   110 MBytes  92.4 Mbits/sec                  receiver

用が済んだら Ctrl+C でプロセス殺す。

ポートも閉じる。

firewall-cmd --zone=public --remove-port=5201/tcp

Server was too busy and OOM Killer fired

昨日からサーバーに繋がりにくくなっていた。
サーバーに繋がらなくなった。
大方 php-fpm のプロセスがたくさん増えて swap 発生しまくってるんだろうと思った。

1vCPU に 512MB しかない VM にそんなに多くを期待してはいけない。

IP アドレスでアクセス制限かけてたからどうせ外出先からじゃアクセスできないし、戻ったら直そうと思っていた。
メールを確認しようとしたらいよいよ認証も通らなくなったので OOM Killer 発動したかと思ってさくらの VPS のコンソール上からシリアルコンソール接続して
今つないでいる IP のアクセス許可して top を見てみた。

見事に殺されている。
yum-cron のプロセスが死んでるのはいいが、 mysqld (中身は MariaDB )のプロセスまで殺されるのは勘弁してほしい。

[root@mx1 ~]# grep "Out of memory" /var/log/messages
Oct  9 07:10:09 mx1 kernel: Out of memory: Kill process 7192 (yum-cron) score 77 or sacrifice child
Oct  9 08:05:56 mx1 kernel: Out of memory: Kill process 7354 (yum-cron) score 82 or sacrifice child
Oct  9 09:17:09 mx1 kernel: Out of memory: Kill process 7493 (yum-cron) score 73 or sacrifice child
Oct  9 10:07:45 mx1 kernel: Out of memory: Kill process 6905 (mysqld) score 52 or sacrifice child

圧倒的 php-fpm のプロセス数。

OOMKillerTop

圧倒的メモリ不足。

[root@mx1 ~]# vmstat -aS m
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 2  0   1059     70    223    140    0    0  3632    28   19   14  0  1 99  0  0

ひとまず静かにデーモンリスタート

[root@mx1 ~]# systemctl restart php-fpm

余裕が出てきた。

free

[root@mx1 ~]# vmstat -aS m
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 2  0     70    342     87     26    0    0  3632    28   19   14  0  1 99  0  0

おしまい。