containerd のイメージ取得はどのように動作するか?

次のコマンドがどのように動作するかを調査する。 # crictl pull alpine Image is up to date for sha256:6dbb9cc54074106d46d4ccb330f2a40a682d49dda5f4844962b7dce9fe44aaec # crictl images IMAGE TAG IMAGE ID SIZE docker.io/library/alpine latest 6db…

containerd をデバッグする手順のメモ

containerd はコンテナランタイムのひとつ。CRI に準拠しており、Kubernetes のコンテナランタイムとして利用できる。 仕事で containerd の調査ができそうな気配があるので(あるかな?)、containerd を動作確認しつつ調査できるようにデバッグ環境を整える。…

よくわかる man の読み方

man の man を読んでください。以上。

nmstate 宣言的なネットワーク管理

この記事は Linux Advent Calendar 2020 の 12 日目です。RHEL 8.2 で Tech Preview として紹介されていた nmstate を軽く調査しました。 検証環境 CentOS 8 と nmstate-0.2.10 を利用する。 # cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core…

NetworkManager の仕組み

Linuxその2 Advent Calendar 2020 の 9 日目です。 この記事は、普段ググりながら適当に使っている NetworkManager について、どういう仕組みなんだっけ?を調べなおすものです。 検証環境 CentOS 8 を利用する。 # cat /etc/redhat-release CentOS Linux re…

glibc に感謝せよ

この記事はいくつかの言語のランタイムで glibc が利用されていることを確認し、glibc に感謝するものです。 Python3 Python3 の処理系は CPython。 # python3 -VV Python 3.6.8 (default, Nov 21 2019, 19:31:34) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] …

TCP/UDP のスループットと RTT の関係性をざっくり理解する

次のような環境を用意し、TCP/UDP のスループットと RTT の関係性を検証する。 検証結果 次の検証結果から、TCP のスループットは RTT が増えると低下することがわかる。なお、これは CUBIC における検証結果なので、輻輳制御アルゴリズムが異なると厳密には…

ファイルがディスクに書き込まれるまで

ファイルがディスクに書き込まれるまでの道のりをまとめた。 stdio buffer バッファリングのモード 性能 バッファサイズのデフォルトについて 注意点 ページキャッシュ 性能 RAID コントローラキャッシュ ディスクキャッシュ 最後に stdio buffer write(2) …

Linux ポート番号と種類

ウェルノウンポートとかエフェメラルポートとかの単語は IPA の NW を勉強したときの知識としては知っているものの、正直よくわからん状態だったので調べました。 ポート番号の定義 ポート番号とその利用用途は IANA が管理している。Internet Assigned Numb…

Linux Tracepoint とは何か?

Tracepoint とは何か? カーネルに埋め込まれたイベントに処理を追加する仕組み。 disabled のときはハンドラが実行されない。 enabledのときはハンドラが実行される。 分岐処理のコストが余分にかかるが、アセンブリレベルで最適化されている。 すでにカー…