Linux sovraccarica la memoria


12

Ho esaminato la memoria impegnandomi troppo a utilizzare Linux /proc/sys/vm/overcommit_memorye ho letto alcuni articoli che non dicono la stessa cosa.

Questo documento , sotto l'intestazione "Andare nella direzione sbagliata", continua dicendo "valori 1: sovracomprimi e 0 (predefinito): non", ma poi nelle righe successive, menziona, tra simili cose che questo non è in realtà vero e che 0 significa "indovinare quanto sia eccessivo il sovraccarico". Ciò significa che l'overcommit della memoria non è disabilitato usando il valore 0, giusto?

Dice anche che 1 indica "non rifiutare mai malloc ()", con 2 che significa "sii preciso sull'overcommit - non commettere mai uno spazio di indirizzi virtuali più grande dello spazio di swap più una frazione di overcommit_ratio della memoria fisica".

La rivista Red Hat , d'altro canto, afferma "se il valore è 0, il kernel verifica se esiste memoria sufficiente per concedere una richiesta di memoria a una chiamata malloc da un'applicazione. Se c'è memoria sufficiente, allora la richiesta è stata concessa. In caso contrario, viene negata e un codice di errore viene restituito all'applicazione. " Questo suona esattamente come disabilitare l'overcommit.

"Se il valore è impostato su 1, il kernel concede allocazioni superiori alla quantità di RAM fisica e scambia nel sistema come definito dal valore overcommit_ratio .... Se l'impostazione in questo file è 2, il kernel consente tutte le allocazioni di memoria , indipendentemente dallo stato attuale di allocazione della memoria. " In termini di valori 1 e 2, questo è l'opposto di quello che diceva il documento precedente, giusto?

Qualcuno sa cosa è effettivamente corretto e se è possibile "disabilitare" l'overcommit?


Dimenticato questo! Mi dispiace per quello.
Doddy,

Risposte:


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.