通常のユーザーとして、コアダンプファイルの最大サイズ制限を増やしたいと思います。 bash
を使用して、次のように設定できます。
$ ulimit -c 100
最初に設定したときにうまく機能します。ただし、次回このコマンドを使用するときは、この制限を100を超えない値にしか設定できません。一般に、ログインしてからこのコマンドを初めて使用するときのみ、任意の値に設定できます。次回以降、可能な値は、最初に設定された値によって上から制限されます。
コマンドの複数の使用にわたってこれを永続化するにはどうすればよいですか?
@ PeterBašista の彼自身の質問に対する答え:
最初は、これはエラーだと思ったので、この質問を始めました。しかし、それは単に完全に正しい動作であることが判明しました。 RTFMのことわざがここにも当てはまることがわかります。
man bash
が明らかにするように、組み込みコマンドulimit
には追加パラメーターがあります。-H
いわゆるhard制限と、いわゆるsoft制限を設定するための-S
。さらに、これらのオプションのいずれも指定されていない場合、デフォルトの動作は、ulimit
がソフト制限とハード制限を設定bothしようとします一度に同じ値。そしてそれが問題でした。
bash
manページから引用があります:非rootユーザーが設定すると、ハード制限を増やすことはできません。
それで、そこに行きます。
ulimit
コマンドの正しい使用法では、常にこれを念頭に置く必要があります。最も重要なことは、あなたが何をしているのかを確実に理解している場合を除き、-H
または-S
オプションなしで決して使用すべきではないことです(当時は明らかにそうではありませんでした)。私がすべきだったことは、このようなものです:
ログイン後:
ulimit -H -c unlimited
コアダンプの最大サイズ制限を変更するたびに
ulimit -S -c <new size>
だから、それはそれについてです。同様の問題に苦しんでいる人の助けになることを願っています。