Come rimuovere il limite sulla dimensione del file di dump principale


11

Vorrei aumentare il limite di dimensioni massime per i file core di dump come utente normale. Usando bash, posso impostarlo in questo modo:

$ ulimit -c 100

che funziona bene la prima volta che l'ho impostato. Tuttavia, la prossima volta che utilizzo questo comando, posso impostare questo limite solo su un valore non superiore a 100. In generale, posso impostarlo su un valore arbitrario solo la prima volta che utilizzo questo comando dal login. Tutte le volte successive, i valori possibili sono limitati dall'alto dal valore inizialmente impostato.

Come posso renderlo persistente attraverso molteplici usi del comando?

Risposte:


9

Per la risposta di @Peter Bašista nella sua domanda:

All'inizio, ho pensato che questo fosse un errore ed è per questo che ho iniziato questa domanda. Ma si è scoperto che è semplicemente un comportamento perfettamente corretto. Si scopre che il detto RTFM si applica anche qui.

Come man bashrivela, il ulimitcomando integrato ha parametri aggiuntivi: -Hper impostare i cosiddetti limiti rigidi e -S per impostare i cosiddetti limiti morbidi . Inoltre, se nessuna di queste opzioni viene fornita, il comportamento predefinito è che ulimittenta di impostare contemporaneamente i limiti soft e hard allo stesso valore. E quello era il problema.

Ora c'è una citazione dalla bashpagina man:

Un limite rigido non può essere aumentato da un utente non root una volta impostato;

Quindi eccoci. L'uso corretto del ulimitcomando dovrebbe sempre tenerlo presente. Soprattutto, non dovrebbe mai essere usato senza -Ho senza -Sopzioni a meno che non si sia sicuri di sapere cosa si sta facendo (cosa che all'epoca ovviamente non lo ero).

Quello che avrei dovuto fare è qualcosa del genere:

Dopo il login: ulimit -H -c unlimited

Ogni volta che voglio cambiare il limite massimo di dimensione del dump del core ulimit -S -c <new size>

Quindi, questo è tutto. Spero che possa aiutare qualcuno che potrebbe avere problemi simili.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.