L'utilizzo del processore aumenta con 4 GB di RAM installati


9

Ho un Intel Atom D2700 (Synology NAS DS412 +) con 4 GB di RAM con kernel 3.2.30 x86_64. Questa unità ha un singolo slot DIMM.

Una cosa che io e altri abbiamo scoperto è che quando si aggiunge un DIMM da 4 GB contro un DIMM da 2 GB, l'unità subisce un utilizzo della CPU significativamente più elevato quando è sotto carico (ad esempio, applicazioni Java "pesanti" come server Minecraft o transcodifica Plex, ecc.) . Molti utenti hanno scoperto che quando ritornano a 2 GB scompaiono tutti questi problemi di carico elevato.

È qualcosa di specifico per Linux che può causare questo? O questo è un problema con Atom stesso?


Forse puoi aggiungere quale distribuzione stai usando?
Bernhard

Build di Synology.
Trevor Seward,

Ci sono state delle modifiche al kernel? Stai usando un kernel PAE per caso?
sfogliando il

Synology generalmente non fornisce questi tipi di note di rilascio. No, questo è un kernel x86-64.
Trevor Seward,

Cosa mostra top come sorgente del carico aggiuntivo? Più I / O, più processi in esecuzione? Lo scambio è abilitato? Se si dispone di processi a esecuzione prolungata con un carico elevato (er), è possibile confrontare gli output di cat /proc/$PID/statusnel tempo.
Hauke ​​Laging,

Risposte:



1

tl; dr

Penso che il colpevole sia il modulo RAM incompatibile.


Ho letto il foglio dati D2000 (come suggerito da quadruplebucky). AFAIK il foglio dati non dice nulla sulla limitazione delle dimensioni della RAM rispetto a un numero di slot DIMM. Si parla invece di gradi (rif. Geometria della memoria ).

Chiunque desideri aggiornare la RAM nel sistema D2000 dovrebbe consultare la Tabella 3-24 per le configurazioni di memoria supportate . Per 4096 MB di memoria, il modulo dovrebbe essere:

  • doppio classificato,
  • con 16 chip di 2 densità di gigabit.

I moduli di memoria della stessa capacità sono prodotti in diverse configurazioni, in modo da poter ottenere, ad esempio, un modulo single-rank da 4 GB utilizzando otto chip di densità da quattro gigabit, la cui configurazione non è elencata nella tabella - vedere questo post illuminante di Kingston .

Detto questo, devi verificare le specifiche per il numero esatto del modulo per accertarti che sia compatibile. Di recente ho installato Patriot PSD34G1333L2S in DS713 + e finora ha funzionato bene.


0

Se c'è più memoria, la CPU avrà più dati / programmi a portata di mano su cui lavorare (sarà inattiva in attesa di dati dal disco meno tempo), quindi l'utilizzo della CPU dovrebbe aumentare, specialmente sotto carico elevato. Il throughput aumenta? O non l'hai misurato?


Non posso dire di averlo davvero misurato al di sopra (Busybox, quindi le opzioni sono alquanto limitate), ma le prestazioni diminuiscono in modo significativo per le applicazioni sopra menzionate quando si usano 4 GB di RAM, alcune al punto da essere inutilizzabili. Con 2 GB di RAM, nessuno di questi problemi è evidente.
Trevor Seward,

L'articolo tedesco di Wikipedia afferma che i processi di I / O fanno parte del carico. Pertanto, il carico dovrebbe diminuire con più RAM. Questo può essere facilmente verificato da for((i=0;i<20;i++)); do dd if=/dev/sda of=/dev/null skip=$((i*100)) bs=1M count=100 & done. Esegui questo e dai un'occhiata in alto. Non so però come l'I / O a causa dello scambio influisca sulla percentuale di attesa di I / O del carico. Il calo delle prestazioni non ha alcun senso con questa spiegazione.
Hauke ​​Laging,

0

Un computer ha SEMPRE un collo di bottiglia, altrimenti tutti i problemi sarebbero risolti in tempi zero. Quando hai rimosso il collo del flacone di memoria, il sistema ha smesso di dover aspettare sul disco e quindi la CPU è stata utilizzata meglio.

Questo tocca uno dei miei odori da compagnia: i popolari blog in cerca di sensazioni e i siti web di recensioni non sanno come fare il benchmark. Una CPU utilizzata al 100% non è una CPU sprecata. Il computer perfetto sarebbe in grado di utilizzare tutte le risorse al 100% per tutti i carichi di lavoro, ma siamo molto lontani da quel tipo di tecnologia. Ma sto divagando.

A meno che, naturalmente, non vi sia un problema con la gestione della memoria nel sistema operativo, ma è molto meno probabile.


3
Penso che ci sia un grande fraintendimento di ciò che sta accadendo qui. Le applicazioni subiscono un significativo aumento delle prestazioni con 4 GB rispetto a 2 GB di RAM. Non è che il processore sia utilizzato al "100%", è che le applicazioni diventano quasi non funzionali.
Trevor Seward,

Forse le spese generali di paging e cambio di contesto stanno causando questo? Dovresti provare a eseguire una singola applicazione pesante con 2 GB e 4 GB per vedere se la velocità effettiva per quell'applicazione aumenta. In tal caso, potrebbe essere a causa del cambio di contesto.
sfogliando il

3
Cambio di contesto a causa della memoria fisica disponibile aggiuntiva?
Trevor Seward,

La mia ipotesi era che la memoria aggiuntiva significava che il processore ora poteva lavorare su più processi / thread contemporaneamente (perché non avrebbe dovuto attendere su I / O del disco o spazio di scambio) e che più processi / thread avrebbero quindi significato più cambi di contesto. Potrei sbagliarmi molto ovviamente.
sfogliando il

@TrevorSeward, la domanda dice qualcosa di completamente diverso.
vonbrand,

0

C'è qualche possibilità che la tua nuova RAM sia DDR3-800 e quella vecchia sia DDR3-1066 (o che la nuova RAM abbia una latenza più elevata?

Se il carico di lavoro presenta molti errori di cache e colpisce frequentemente la RAM, una RAM più lenta potrebbe fare una differenza significativa: questo benchmark mostra una differenza di circa il 30% nella larghezza di banda della memoria tra -1066 e -800 RAM:

http://www.tomshardware.com/reviews/core-i7-870-1156,2482-5.html

Il tuo carico di lavoro dovrebbe richiedere molta memoria per vedere molta differenza.


Il modulo DIMM sostitutivo è KVR1333D3S9 / 4G, tuttavia Atom funzionerà solo a 800 Mhz.
Trevor Seward,

Intel afferma che il controller di memoria D2700 funzionerà con DDR3-800 o -1066 RAM (con la larghezza di banda di memoria massima corrispondente di 6,4 GB / sec e 8,5 GB / sec). Ma dal momento che la tua RAM è 1333, dovrebbe essere downclockata a 1066, quindi questo mi fa dubitare del mio suggerimento.
Johnny,

0

Non l'ho mai sperimentato così solo indovinando: forse questo è un problema a causa dell'Atom che non è in grado di affrontare fisicamente più di 4G (IIRC) e alcune collisioni con lo spazio degli indirizzi PCI.

Dai un'occhiata ai rispettivi parametri del kernel (mem *) . Probabilmente non ci daranno una buona spiegazione del problema ma potrebbero risolverlo (a scapito di un po 'di RAM). Quindi potresti impedire al kernel di usare il MiB x superiore. È possibile verificare a quale bordo il problema scompare. È probabile ma non è sicuro che i dispositivi PCI siano mappati direttamente sotto il 4G. Ha senso verificarlo, ma non so come farlo (forse tramite qualche strumento ACPI o cat /sys/devices/pci0000\:00/0000\:00*/resource).


Come si può impostare max mem senza accedere ai parametri di avvio?
Trevor Seward,

0

Hai visto questo thread del forum Synology:

http://forum.synology.com/enu/viewtopic.php?f=140&t=55105&sid=32ffe791c14c1a817869f78ec3d4300a&start=15

Di persona dice che la modifica di un parametro in /etc/rc.d aiuta (è dove vm.min_free_kybtes è impostato in base alla quantità di RAM installata). Ma questo sembra essere più per un aggiornamento da 1 GB -> 2 GB, non da 2 GB -> 4 GB.

Altri sostengono che 4 GB non funzioneranno affatto, mentre un ragazzo afferma che un modulo KVR1066D3S7 / 4G (che è 1066Mhz) funziona bene mentre altri con moduli 1333Mhz come il tuo stanno riscontrando problemi.

Non sembra esserci molta prova concreta per indicare una soluzione, ma non sei l'unico a vedere un degrado delle prestazioni con 4 GB di RAM in quel DS412 +.


1
Sono io, e no alla fine la modifica di min_free_kbytes non ha aiutato.
Trevor Seward,

Quindi andrei con il ragazzo che ha detto che il modulo 1066Mhz ha funzionato, ma le persone con i moduli 1333Mhz si lamentano dei problemi - forse il BIOS di Synology in realtà non gestisce bene 1333.
Johnny,

Questa sarebbe l'implementazione UEFI di Intel.
Trevor Seward,

0

La mia ipotesi (istruita) è che la cache del tuo processore non sia in grado di gestire più di 2 GB di RAM, quindi l'installazione di più di quella causa la disabilitazione della cache, causando un significativo calo delle prestazioni. È anche una CPU quad core, quindi un'applicazione a thread singolo può sempre e solo utilizzare al massimo il 25% della CPU totale, motivo per cui non aumenta dopo l'aggiunta di ram.


È una buona idea. Qualche modo per sapere se la cache è stata disabilitata dalla distribuzione?
Trevor Seward,
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.