ブログ
GPU・LLM・MLOps・Kubernetes、そしてマインドセット · 3508 件
#2026-03 764#japanese 587#deep-dive 254#kubernetes 247#culture 236#career 224#ai 214#llm 208#devops 193#2026-04 144#security 139#observability 113#database 110#communication 107#architecture 100#productivity 88#finance 87#mindset 80#ai-papers 79#history 79#it 78#psychology 78#english 75#networking 74#deep-learning 73#gpu 70#linux 70#performance 70#cs-fundamentals 63#ai-agent 61#postgresql 59#rag 59#economy 57#mlops 53#self-improvement 53#ai-platform 51#food 51#learning 51#python 51#travel 51
HTTP Keep-Alive とコネクション再利用 — 間欠的な 502 を生むタイムアウトの競合状態
バックエンドのログには何のエラーもないのに、ロードバランサーでだけ間欠的に 502 が混ざるなら、たいていはコネクション再利用の競合状態です。サーバーがアイドルコネクションを閉じるまさにその瞬間にクライアントがそのコネクションへリクエストを書くと、FIN とリクエストがすれ違います。なぜバックエンドの keepalive タイムアウトをロードバランサーのアイドルタイムアウトより長く取るべきなのか、curl -w で namelookup
2026-07-26 · 25 分で読めます #network#http#performance#load-balancer#tcpToo many open files 完全解決 — ulimit を上げても直らない理由
サーバーのログに accept4 failed (24: Too many open files) が記録され、ulimit -n を上げてもそのままです。この症状の裏には互いに独立した三つの上限があります。プロセスごとの RLIMITNOFILE、システム全体の fs.file-max、そして systemd サービスの LimitNOFILE がシェルの ulimit 設定を完全に無視するという事実です。/proc/PID/limi
2026-07-26 · 22 分で読めます #linux#systemd#file-descriptor#troubleshooting#containers空き容量はあるのに No space left on device — inode 枯渇、削除済みのオープンファイル、予約ブロック
df は空き容量を表示しているのに、ファイルを一つも作れず ENOSPC が返ります。原因はほぼ必ず五つのうちのどれかです。inode 枯渇、削除されたのにプロセスが開いたままのファイル、ext4 の予約ブロック、別のファイルシステムが重ねてマウントされて見えなくなったファイル、そしてコンテナのオーバーレイ上限です。それぞれを df -i、lsof +L1、tune2fs、バインドマウントでどう確定して何で解決するのか、さらに inot
2026-07-26 · 25 分で読めます #linux#filesystem#ext4#troubleshooting#storage上手に決める方法 — よい決定とよい結果は別物です
スーパーボウル最後のパスがインターセプトされると、誰もが史上最悪の選択だと呼びました。しかし結果で決定を採点する習慣は、そこから学べるはずのものをほとんど消してしまいます。アニー・デュークのリザルティング、引き返せる扉と引き返せない扉を分けるベゾスの基準、事前検死と10/10/10、満足化と最大化の違い、そして決定日誌まで整理しました。決定の質を実際に高め、後から採点できるようにする手順についての文章です。
2026-07-26 · 24 分で読めます #mindset#decision-making#psychology#productivity#self-improvement構造化ロギングの設計 — 障害が起きたときに実際に役立つログを作る
障害の真っ只中でログをgrepして諦めた経験があるなら、ログ設計が間違っています。人が読むログと機械が読むログを分離し、すべての行に必ず入れるべきフィールドを決め、ログレベルを判断するたったひとつの基準を立てる方法を扱います。W3Cのtraceparentでサービス境界を越えてリクエストを追う方法、個人情報とシークレットを取り除くマスキング設定、物語が途切れないリクエスト単位のサンプリング、そしてカーディナリティとコストの計算までを実際
2026-07-26 · 19 分で読めます #observability#logging#structured-logging#opentelemetry#incident-responseLLM推論のVRAM計算 — 重みより先にKVキャッシュが溢れます
「このモデルはうちのGPUに載りますか」という質問に、掛け算を数回するだけで答える方法をまとめました。重みのメモリはパラメータ数×バイト数で終わりますが、実際にデプロイを止めるのはシーケンス長とバッチに比例して育つKVキャッシュです。KVキャッシュの公式とGQAがそれを何分の一かに減らす原理、プリフィル活性化とフレームワークオーバーヘッドの大きさ、PagedAttentionが消した断片化の損失、そして4bit量子化がタダではない理由を
2026-07-26 · 20 分で読めます #llm#inference#vram#kv-cache#quantization年を取るということについて — 通念とデータが食い違う地点
複数の国の資料で、生活満足度が最も低い年齢は47歳あたりで、その後はおおむね上がっていきます。ただしこのU字曲線には手ごわい反論もあります。流動性知能と結晶性知能が分かれていく仕方、残り時間が短いと感じたとき関係が整理されるというカーステンセンの理論、老化についての自己認識と寿命の相関を示したベッカ・レビーの研究とその限界、創業と受賞のデータが語る遅すぎるという感覚の誤り、そして筋力と睡眠という物理的な土台まで整理しました。
2026-07-26 · 23 分で読めます #mindset#aging#psychology#life#healthKubernetes ImagePullBackOffとErrImagePull完全解剖 — 原因文字列ひとつで終わらせる
PodがErrImagePullを経てImagePullBackOffに留まる状況を原因別に分解します。2つの状態が同じ事象の異なる段階であること、そしてkubectl describeのEventsの最後の1行にすでに答えが書かれていることから出発します。タグのタイプミス、プライベートレジストリの認証失敗、ServiceAccountにSecretが付いていない場合、Docker Hubの匿名プルのレートリミット、プロキシとエアギャッ
2026-07-26 · 18 分で読めます #kubernetes#imagepullbackoff#container-registry#troubleshooting#containerdping は通るのに大きなリクエストだけ止まる — MTU、MSS、PMTUD ブラックホールの解剖
小さなリクエストはうまくいくのに大きな応答だけ途中で止まってしまう症状は、ほぼ常に経路 MTU の問題です。TCP は MSS をインターフェースの MTU を基準に広告するので、経路の途中がもっと狭ければ、パス MTU 探索が ICMP Fragmentation Needed で知らせなければなりません。ところがその ICMP をファイアウォールが捨てるとブラックホールが生まれます。MSS と MTU の算数、ping -M do
2026-07-26 · 22 分で読めます #network#mtu#tcp#vpn#kubernetesKubernetes OOMKilled(137) メモリ問題の解決 — 上限を上げる前に確認すべきこと
コンテナが Exit Code 137 で停止したのに、アプリケーションログには例外が何も残らない状況を扱います。137 は 128 足す 9、つまり SIGKILL であるという事実しか伝えてくれないという点から出発し、コンテナの cgroup 上限による OOM とノード全体の OOM、そして kubelet の退避を dmesg の一行で見分ける方法を整理しました。JVM と Node.js と Python がコンテナの上限をど
2026-07-26 · 23 分で読めます #kubernetes#oomkilled#memory#jvm#cgroupCPU steal timeとスロットリング — topのst、バースタブルのクレジット、CFSクォータを見分ける方法
CPU使用率は40%なのにp99レイテンシが跳ね、topのst列には20%が表示されています。一見よく似たこの症状には、まったく異なる三つの原因があります。ハイパーバイザーがvCPUに物理CPUを渡さないCPU steal time、バースタブルインスタンスのCPUクレジット枯渇、そしてtopにはまったく現れないcgroup CFSクォータのスロットリングです。stは何パーセントから問題なのか、nrthrottledとthrottled
2026-07-26 · 28 分で読めます #linux#cpu#cgroups#kubernetes#cloud.gitignoreが効かないとき — 原因1位とパターン規則の精読
無視リストにはっきり書いたのにファイルが上がり続ける理由は、たいてい1つです。すでに追跡中のファイルには無視の規則が適用されません。この記事では、インデックスから外す正確な命令と、その命令が同僚の作業ディレクトリからファイルを消してしまうという副作用、どの規則が犯人なのかをGitに直接尋ねるcheck-ignoreの使い方と、追跡中のファイルでは何も出力しないという罠、先頭のスラッシュと末尾のスラッシュと否定パターンの順序依存、上位ディ
2026-07-26 · 20 分で読めます #git#gitignore#troubleshooting#security#version-controlOOM Killer がプロセスを殺したとき — dmesg ログの読み解きから cgroup OOM の見分け方まで
プロセスが何のログも残さずに消え、終了コードは 137 です。カーネルの OOM Killer が残した dmesg リポートを 1 行ずつ読む方法、badness スコアが計算される仕組みと最も大きいプロセス以外が死ぬ理由、システム全体の OOM と cgroup v2 memory.max によるコンテナ OOM をログだけで見分ける方法を整理します。overcommitmemory 0/1/2 が実際に何を変えるのか、スワップがあ
2026-07-26 · 27 分で読めます #linux#memory#oom#cgroups#kubernetes一握りの胡椒が世界をつないだ — 香辛料貿易とグローバル化の原型
408年にローマを包囲したアラリックが要求した身代金の目録には、金と銀に並んで胡椒1360キログラムがありました。いまはスーパーで数百円のあの果実がなぜそこまで高かったのか、そして腐った肉の匂いを隠すために使ったというよくある説明がなぜ根拠に乏しいのかから始めます。1498年のヴァスコ・ダ・ガマのカリカット到達、1602年に世界初の株式会社となったオランダ東インド会社と1621年のバンダ諸島虐殺、1667年ブレダ条約でルン島とマンハッタ
2026-07-26 · 29 分で読めます #humanities#history#trade#globalization#colonialismKubernetes Pod Pending 状態の解決 — スケジューラーが残した拒否理由の読み方
Pod が Pending のまま数分間も先に進まないとき、スケジューラーはすでに拒否理由をイベントに残しています。0/5 nodes are available で始まるあの一文を正確に解読する方法から始めて、九つの原因を一つずつ排除していきます。リソース不足は実際の使用量ではなく requests の合計で判定されること、taint とトレランス、ノードセレクターとアフィニティの不一致、PVC の未バインドと WaitForFirs
2026-07-26 · 20 分で読めます #kubernetes#scheduler#pending#troubleshooting#autoscalingバウハウス、14年が100年を変えた — 事物の形を読む方法
1919年にワイマールで開校し、1933年にナチスの圧力で閉じたバウハウスは、ちょうど14年だけ存在しました。学生数はつねに数百人規模で、建築科ができたのは開校から8年後、最もよく売れた製品は有名なスチールパイプの椅子ではなく壁紙でした。予備課程と工房制度、「形態は機能に従う」が実はルイス・サリヴァンの言葉だという点、女子学生が織物工房へ集まらざるをえなかった構造、そして閉校が生んだ逆説的な世界化までを押さえ — ミニマリズムはつねに正
2026-07-26 · 27 分で読めます #humanities#design#architecture#design-history#modernismロードアベレージが CPU 使用率ではない理由 — load average 24 なのに CPU は 30% のとき
uptime の load average は 24 を超えているのに top の CPU は 30% にも届かない、という状況を扱います。Linux のロードアベレージは他の Unix と違い、実行待ち (R) のタスクだけでなく D 状態 (uninterruptible sleep) のタスクまで数えるため、ディスクや NFS の待ちだけでも数値が跳ね上がります。3 つの数字が 5 秒サンプリングと指数移動平均でどのように作られる
2026-07-26 · 21 分で読めます #linux#performance#load-average#psi#troubleshootinggitが遅くなったとき — 大規模リポジトリを速くする構造的な処方
リポジトリが遅くなる理由は1つではありません。コミット履歴が長いこと、ファイル数が多いこと、大きなバイナリが入っていることは別々の問題であり、処方も違います。この記事はまず原因を切り分ける測定命令から始め、浅いクローンと部分クローンがなぜ代替品ではなく用途の違う道具なのか、sparse-checkoutとファイル監視がstatusをどう縮めるのか、commit-graphがログとマージ基準点の計算をなぜあれほど大きく変えるのかを説明しま
2026-07-26 · 20 分で読めます #git#performance#monorepo#git-lfs#version-controlKubernetes CrashLoopBackOff の原因別診断と解決 — ログが空のとき何を見ればよいか
Pod が CrashLoopBackOff に陥っているのに kubectl logs が何も返さない状況を、最初から最後まで扱います。BackOff は原因ではなく 10 秒から 5 分まで伸びる再起動待ち時間だという正確な意味から、describe の Last State と Exit Code を読む順序、終了コード 0/1/127/137/139/143 がそれぞれ何を意味するかまで整理しました。アプリケーションの即時終了、
2026-07-26 · 20 分で読めます #kubernetes#crashloopbackoff#troubleshooting#kubectl#sregit merge vs rebase — 何をいつ使うのか、なぜ共有ブランチはリベースしないのか
mergeとrebaseの違いは、図ではなくコミットハッシュで見るのが正確です。リベースはコミットを移動させる命令ではなく、親が変わった新しいコミットを作る命令であり、ハッシュが変わるというその一点だけが、共有ブランチをリベースしないという黄金律の唯一の根拠です。この記事では実際のコミットハッシュとreflogの出力でその変化を示し、マージコミットはノイズだという通念をfirst-parentのログで反論し、スカッシュマージがbisec
2026-07-26 · 18 分で読めます #git#rebase#merge#version-control#workflow