Attualmente sto sperimentando i parametri del kernel trovati in /proc/sys/vm
, in particolare dirty_ratio
e dirty_background_ratio
.Differenza tra vm.dirty_ratio e vm.dirty_background_ratio?
Il doc kernel ha le seguenti spiegazioni per entrambi:
dirty_background_ratio
Contiene, come percentuale della memoria totale disponibile che contiene pagine libere e le pagine esponibile, il numero di pagine in cui il background kernel thread di flusher inizieranno a scrivere i dati sporchi.
e
dirty_ratio
contiene, come percentuale della memoria totale disponibile contenente pagine libere e pagine deducibile, il numero di pagine in cui un processo che è scrittura su disco generatrice inizierà da solo a scrivere i dati sporchi.
Sul mio sistema Linux dirty_background_ratio
è 10 e dirty_ratio
è 20. Mi rendo conto che la differenza è, che scrive i dati sporca. Quindi, se la memoria utilizzata raggiunge il 10%, il kernel inizia a scrivere e il 20% non dovrebbe mai essere raggiunto.
La mia domanda ora è: ha il valore più alto di dirty_background_ratio
e dirty_ratio
qualsiasi significato o è solo una questione di "qual è il valore più basso e chi ce l'ha"?
Quindi fatemi riformulare, per vedere se ho capito bene. Se viene raggiunto dirty_background_ratio, il kernel inizia a eseguire i writeback in background, ma le applicazioni possono ancora scrivere nella cache della pagina senza bloccare. Se viene raggiunto dirty_ratio, le applicazioni bloccano la scrittura fino a quando dirty_ratio non viene più raggiunto. È corretto? – happyMOOyear
sì, ho anche aggiornato un caso d'uso se aiuta. – askb
Ho accettato la tua risposta perché risponde alla mia domanda e mi ha aiutato molto. Grazie! Solo una domanda in più: c'è qualche posto in cui questo comportamento è documentato? – happyMOOyear