本当は怖い less

tl;dr

パイプから大きいデータを less に渡すとメモリ死する。

パイプから読むとき

必要に応じて動的にバッファが確保される。起動直後に G とか押すと全部メモリにのる。GB オーダーのファイルでそういうことすると死ぬ。

どうしたらいいの

-B オプションをつかうと、動的にメモリを確保せず 64 KB(Amazon Linux 64bit の場合)または -b オプションで指定されたサイズのみをバッファに使用する。

そもそも

less で GB オーダーのファイル開く意味が分からない。grep とかでしぼってから less に渡そう。