@kotyのブログ

.NETとかJavaとかPythonとか勉強会のこととかを、田舎者SEがつづります。記事のライセンスは"CC BY"でお願いします。

第3回「Linuxのしくみ」読書会参加記録

nseg.connpass.com

参加者6名 (´・ω・`)

  • 経過時間:そのプロセスが開始されてから終了するまでの時間
  • 使用時間:CPUを使った時間。マルチコアを100%使った場合は、経過時間よりも(ざっくりマルチコア数分)大きくなる。

今回もグラフを書いてみた。優先度を変えて起動した場合の挙動。87ページのグラフ。

以下のコードにより、グラフを描画できる。

%matplotlib inline

import numpy as np
import matplotlib.pyplot as plt

data = np.loadtxt('data3.csv', delimiter='\t')

fig2 = plt.figure(figsize=(10, 5))

ax2 = fig2.add_subplot(1,1,1)
data0 = data[(0==data[:,0])]
input0 = data0[:,1]
output0 = data0[:,2]
ax2.scatter(input0, output0, label='p1')

data1 = data[(1==data[:,0])]  #0番目の列が1の行を抽出
input1 = data1[:,1]
output1 = data1[:,2]
ax2.scatter(input1, output1, label='p2')

fig2.show()
plt.legend()  # 凡例を表示

f:id:kkotyy:20180511114129p:plain 優先度が各プロセスの 処理時間に反映されているのが分かる。

freeコマンドについて

  • freeは実際に空いている容量
  • availableはそれに加えて解放できるカーネルメモリも含まれる

OOM

  • OOM-killerは、デフォルトでは適当に選んだプロセスを殺して物理メモリを空けることにより、なんとかしてシステムを生き延びさせようとする*1
  • 所感:適当に選ばれるのつらい...
  • 所感:98ページの図は誤植もあったが、それにしてもよく理解できんかった。

次回は人数が回復すると良いのですが。

第4回 Linuxのしくみ 読書会 - connpass