見出し画像

本は買わないと読めない。【オライリー】Linuxカーネル / システム・パフォーマンス

図書館で本を借りることがあると思うが、借りた本を読み終えるまで大変時間がかかる。恐らく読まずに返却した本のほうが多いと思う。

読書が好きではあるが、自分への投資のためと割り切って読むことが多い。そのため、自分への投資のためになぜ時間制限を設けなければならないのかという点に不条理を感じて、一気にやる気をなくしてしまう。

借りたくせに、二週間以内に読んでくださいと言われて、自分の貴重な時間をなぜ図書館のために早く消費しなくてはならないのか、と思ってしまう。

借りたくせに。頭がおかしいとしか思えない。性格が偏屈すぎる。

なので、本は人からも借りないし、図書館からも借りない。買う以外の選択肢を持たないようにしている。

「貸しましょうか」と聞かれると即座に「自分で買わないと読まないから結構です」と答えるようにしている。

思えばデスクにおいてある書籍でさえ、自分のものでなければ読む気にならない。技術書であっても同様で、誰かの買った書籍が参考になると知っていても、ちらっと開きはするものの、まったく知識として集中的に取り込もうという意識が働かない。

そこで、昨日本屋さんで買ってきたのがこちら。,

14,000円なり。

オライリー 詳解 システム・パフォーマンス

現在、仕事で性能試験に臨んでいるが、サーバ側のリソース不足と思しき事象に遭遇しており、システムコール以下の深い議論になりがちで、あいまいな理解のまま対応することが心苦しく感じたので購入した一冊。

SolarisとLinux OSのパフォーマンスに関するカーネルの機能と分析について比較しつつ語られており、どちらのOSも長年の業務経験があるため自分にとっては有難い組み合わせで語られている。

パフォーマンス調査に関するコマンドの解説も十分にされており、一部ケーススタディが取り上げられている。

以下のような内容を知りたかったのだが、網羅されているようなので、同じような悩みを抱いているエンジニアはぜひ手に取ってほしい。

・パフォーマンスチューニングの全体の流れ
・自分の知らないオーバーヘッドを網羅的に観点を得る
・リソースコストのトレードオフの考え方
・メモリ管理としてはキャッシングのパフォーマンスへの影響
・CPU管理としてはスケジューリングクラスとコンテナグループによるキャップ

時間を忘れて読んでいたので、内容的にも引き込まれる書き方をされていると感じている。

オライリー 詳解 Linuxカーネル

Linuxカーネルの詳細な仕組みについて語られており、入門書では手の届かないようなコアな話まで遠慮なく解説されているのでありがたい。それそれ、そこが知りたかったのよ、的なことが記されており、大変面白い。

上記パフォーマンチューニング観点で知り得たい技術の予備知識的な要素を補完するために購入。予備知識のほうが高価でページ数もある(900ページくらい)という謎の現象が発生しているが、こちらも曖昧な知識分野に目を通してみると、あっという間に時間が過ぎているので面白い内容だ。

中途半端にLinuxを学んでいたことがよくわかる。Solaris OSはSun Microsystems時代に管理者ガイドを熟読したが、Linuxは書籍としていいものに出会わなかったので、書籍で勉強するようなことはしてこなかった。だいたいSolarisの知識の応用で通用したことが大きい。

知りたかったのは、以下。

・runqueueのデータ構造
・CPU spin lockの仕組み
・メモリ管理としてはbuddyとメモリ断片化
・ダーティページ書き出しのpdflushカーネルスレッドの詳細動作
・各種システムコールの詳細仕様

今回を機にLinuxカーネルの深くまで知識を掘り下げておこうと思う。

まとめ

購入した本に関しては、自発的に読みたくなるので、結果的に買った本で読んでいない本というものがない。

今回もだいぶゴツイものを買ってしまったが、この二日間どっぷり楽しめているのでうまく自己投資できていると感じている。

学びたいと思ったならば、とりあえず本を買ってみるというのも手ではないだろうか。

創作意欲の支えになります!