MacOS utilizza molto la memoria virtuale / lo swap

5

Ho un MacBook Pro al lavoro e penso che usi troppo swap invece di RAM.

Model Name: MacBook Pro
Model Identifier:   MacBookPro13,1
Processor Name: Intel Core i5
Processor Speed:    2 GHz
Number of Processors:   1
Total Number of Cores:  2
L2 Cache (per Core):    256 KB
L3 Cache:   4 MB
Memory: 16 GB
Boot ROM Version:   MBP131.0205.B22
SMC Version (system):   2.36f97
Serial Number (system): C02TL0KGGVC8
Hardware UUID:  09325653-7FB0-52CC-A599-063539D1010A

Sono abituato a monitorare l'attività di sistema UNIX utilizzando htop . Ho notato che il mio OS X non utilizza mai più della metà della RAM, ma utilizza invece più swap. Di solito 7 GB di swap, ma può essere più.

Lamiadomandaè,ilmiosistemaoperativonondovrebbeusarepiùRAMprimadelloswap?HolettosucomeOSXgestisceloswapemisembraunaperditadipotenzacomputazionale.Lascritturadipagineinentrataeinuscitarichiedemoltotempoenonèvelocequantol'utilizzodellaRAM

CercodiconfrontareconlamiadistribuzioneUbuntu16.04acasachenonsiscambiaselamemorianonèpiena.Maforsei2OShannocomportamentidiversi,sebbenesianoentrambibasatisuUNIX.

Hoanchestampatol'outputdelcomandovm_statperverificaresecifossequalchedifferenza,perchéforsehtopnonloriportainmodoaccurato.Honotatochehtopriportaunacapacitàdiswapvariabilevariabile,da3a16.PerchénonèunapartizionedidimensionifissecomeinUbuntu?

MachVirtualMemoryStatistics:(pagesizeof4096bytes)Pagesfree:6743.Pagesactive:1005803.Pagesinactive:903490.Pagesspeculative:361.Pagesthrottled:0.Pageswireddown:837598.Pagespurgeable:9241."Translation faults":                6115698117.
Pages copy-on-write:                  107293117.
Pages zero filled:                   2540298644.
Pages reactivated:                   1039487337.
Pages purged:                          52550607.
File-backed pages:                       482299.
Anonymous pages:                        1427355.
Pages stored in compressor:             5968822.
Pages occupied by compressor:           1439832.
Decompressions:                      1456775259.
Compressions:                        1606172332.
Pageins:                             1393246141.
Pageouts:                              25235109.
Swapins:                              562867577.
Swapouts:                             582845342.
    
posta MCMZL 19.12.2017 - 12:09
fonte

1 risposta

3

Prima - sì, il sistema operativo in generale utilizzerà la RAM prima dello scambio. In questo non c'è alcuna perdita di potenza computazionale.

Sembra che tu abbia colto alla conclusione che macOS sta usando lo swap, quando potrebbe anche usare la memoria libera basata sullo screenshot di htop. Non è possibile trarre questa conclusione da un semplice esempio dell'uso della memoria.

In realtà, avresti potuto eseguire programmi che utilizzavano molta RAM per forzare macOS a scambiare la memoria su disco. Quindi si esce da alcuni di questi programmi (o hanno deallocato un blocco di RAM). Quindi, se ora prendi un campione di htop, vedrai che l'utilizzo della RAM è basso (molta RAM libera), ma stai anche utilizzando un sacco di swap.

Ma non è un problema - in realtà è destinato ad essere in questo modo! Non sarebbe saggio per macOS iniziare lo scambio in quelle pagine che sono state collocate su disco. Lo farà quando sono richiesti (cioè utilizzati dai programmi), ma finché ciò non accadrà, potrebbe essere che quelle pagine non saranno mai utilizzate - e quindi il tempo impiegato per scambiarle sarà perso.

Si scrive che rispetto al tuo PC Ubuntu osservi un comportamento diverso. Dovresti sapere che puoi effettivamente cambiare quel comportamento. Su Linux puoi usare sysctl per impostare la variabile vm.swappiness. Cambierà quanto è aggressivo il sistema operativo nello scambiare le cose sul disco.

Chiedi anche perché il tuo sistema macOS non usa lo scambio di dimensioni fisse come fa Ubuntu. In effetti, Ubuntu supporta anche lo swap di dimensioni dinamiche usando il comando "swappace". Puoi impostare le dimensioni minima e massima e aggiungere / rimuovere dinamicamente lo spazio di swap in base alle esigenze.

    
risposta data 19.12.2017 - 14:03
fonte

Leggi altre domande sui tag