Problemi di stabilità e di avvio con linux su amd1090t

2014-02-03 19:41:56




Avendo installato Debian Wheezy 7.3  sul mio pc un amd phenom2 x6 1090t montato su asrock 890gx extreme 3 avevo notato che all'avvio 1 volta ogni 10 il pc si bloccava dicendo rcu_sched detected stalls on CPUs/tasks: 
Non riuscivo a capire proprio a cosa fosse dovuto il problema.
Inoltre alcune volte il pc si bloccava ed ero costretto a riavviare da pulsante.
Alla fine ho scoperto che tra i pacchetti debian è presente un driver chiamato amd64-microcode che fornisce i driver necessari
ai processori amd !!!
Installato quel pacchetto non ho più riscontrato problemi .
Quindi per installare il pacchetto aprite un terminale e digitate:



sudo apt-get update

sudo apt-get install amd64-microcode 



Inoltre conviene mettere nella blacklist il modulo seguente se si utilizz una scheda video ati ma non si usa l'audio attraverso hdmi.
sudo nano /etc/modprobe.d/user-blacklist.conf

inserire nel file che dovrebbe essere vuoto questo:
 
 blacklist snd_hda_codec_hdmi


Spero di esservi stato di aiuto , se è così perfavore lasciatemi un commento.
Commenta




Come caricare tutto il sistema linux in ram e velocizzare al massimo il pc!

2013-11-16 11:44:20




Ciao a tutti in questo articolo vedremo come caricare tutto il sistema operativo linux in ram
per poter ottenere un pc con una velocità incredibile.
Attenzione :
Consiglio vivamente di fare un back up del vostro sistema prima di provare la guida.
Non mi assumo nessuna responsabilità per la perdita dei vostri dati.

Necessario :
--Almeno 8 Gb di ram

--Un sistema operativo debian based , io ho provato su debian 7.02 e debian 6.06
   dovrebbe funzionare anche su Ubuntu e altre distro derivanti da debian.

--Medie conoscenze del teminale linux

Vantaggi:
Alla fine della guida avrete il sistema più veloce che abbiate mai visto !!!
Più veloce di qualsiasi sistema installato su ssd !
Inoltre creeremo una voce del grub che permetterà di caricare il sistema su ram o su hard disk.
Quando sceglierete di avviare su ram tutti i cambiamenti fatti al sistema in questa modalità saranno
dimenticati una volta riavviato.
Questo significa che potrete installare programmi , provare comandi da terminale
ed altre cose simili senza aver paura di corrompere il vostro sistema!!!

Svantaggi:
L'avvio potrebbe richiedere anche 10 minuti a seconda di che hard disk avete e di quanto spazio
occupa il vostro sistema linux.
Durante l'avvio vedrete uno schermo nero con un cursore bianco lampeggiante.
Al riavvio perdete tutti i dati e i cambiamenti che non avete salvato su hard disk
si può evitare questo problema in vari modi che spiegherò più avanti.

Perchè mai mi è venuto in mente di caricare tutto il sistema sulla ram?
Perchè dopo aver comprato ed assemblato i vari pezzi del mio pc questo riusultava non essere
veloce come desideravo .
Il mio pc è così composto :
Amd Phenom 2 X6 Black Edition
Scheda madre asrock 890GX Extreme3
16 GB G.SKILL DDR3 1600
da poco ho aggiunto una Ati 7970xfx Ghost Edition

Dopo aver installato Mint Debian Edition avevo un sistema mediamente veloce
tuttavia avevo composto il pc nella speranza che fosse meglio di "mediamente veloce".
Quindi decisi di provare a capire cosa mi rallentasse il pc in quel modo e alla fine pensai
che probabilmente era dovuto agli hard disk lenti che avevo.
Trovai quindi un post interessante:
http://reboot.pro/topic/14547-linux-load-your-root-partition-to-ram-and-boot-it/

Decisi di provare a seguire la guida .
La prima volta non sembrava essere partito e riavviai
poi capii invece che per copiare tutto il sistema da un hard disk alla ram ci avrebbe messo molto tempo
decisi di spettare con schermo nero sul display per vedere se dopo un pò di tempo sarebbe partito.
Dopo circa 12 minuti il display mi mostrò la schermata di linux e una volta provato il sistema rimasi
molto stupito, era una scheggia!!! era istantaneo!!!
premevo per avviare un qualsiasi programma e appena lasciato il click quello era già a schermo!
Stupendo!

Decisi quindi di fare questa guida.

Perchè mettere sulla ram tutto il sistema operativo velocizza così tanto il pc?
perchè la parte del pc più lenta è l'unica parte meccanica del pc ed è l'hard disk!!!
ogni volta che voi aprite un programma quello viene letto dall'hard disk
anche il più veloce degli hard disk è un collo di bottiglia per gli attuali pc .
Eliminando la lettura e scrittura sull'hard disk si elimina un tempo di attesa lunghissimo!
La ram è molto più veloce di un qualsiasi hard disk la ddr3 va da 6400 MB/s a 12800 MB/s
a seconda del modello mentre un hard disk allo stato solido va da 250 a 600 MB/s
Un hard disk a rotazione invece va da 50 a 150MB/s.
Ora vedete che la velocità della ram DDR3 più lenta è come minimo 42 volte più veloce del più
veloce degli hard disk a rotazione.
Il vostro pc non andrà 42 volte più veloce ma sicuramente la differenza si vedrà
vale davvero la pena il lavoro per ottenerla.

Iniziamo con la guida:

Io sono partito da una versione di debian 7.2 installato da netcd e sulla quale ho installato
il minimo indispensabile e Mate.

Aprite un terminale

scrivete la seguente riga per fare un back up del file fstab :
sudo cp /etc/fstab /etc/fstab.bak

Ora aprite con il vostro editor di testo preferito come amministratori il file :
sudo pluma /etc/fstab oppure sudo gedit /etc/fstab oppure sudo nano /etc/fstab

Cercate la riga dove è presente la partizione di root /

la mia era scritta così:
UUID=b4a375f0-3cae-41ec-a130-fd9fa5207b07 / ext4 noatime,errors=remount-ro 0 0

Assicuratevi che sulla vostra vecchia riga della root sia disabilitato il fsck quindi che ci siano i 2 zeri
come alla fine della mia riga di esempio , se così non fosse sostituire i numeri presenti con 2 zeri
dopodichè riavviare il pc.
Riaprire il file come prima e proseguire.

A questo punto sostituite la riga della root con :
none / tmpfs defaults,noatime,nodiratime,discard 0 0

Salvate e chiudete il file.

Spostatevi dando nel terminale :
cd /usr/share/initramfs-tools/scripts/

Fate una copia del file local con:
sudo cp local local.bak

Aprite il file con il vostro editor di testo come amministratore:
sudo pluma local oppure sudo gedit local oppure sudo nano local

Cercate un pezzo simile a questo:
# FIXME This has no error checking
# Mount root
if [ "${FSTYPE}" != "unknown" ]; then
mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} ${rootmnt}
else
mount ${roflag} ${ROOTFLAGS} ${ROOT} ${rootmnt}
fi[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-bottom"
run_scripts /scripts/local-bottom
[ "$quiet" != "y" ] && log_end_msg}

In particolare dovreste trovare la riga # Mount root che vi dice che siete nel punto giusto.
Sostituite le righe con le seguenti:
# FIXME This has no error checking
# Mount root
mkdir /ramboottmp
mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} /ramboottmp
mount -t tmpfs -o size=100% none ${rootmnt}
cd ${rootmnt}
cp -rfa /ramboottmp/* ${rootmnt}
umount /ramboottmp
[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-bottom"
run_scripts /scripts/local-bottom
[ "$quiet" != "y" ] && log_end_msg
}

A seconda della versione di linux che avete potrebbero cambiare delle righe ma non dovrebbero
differire di molto.

Salvate e chiudete l'editor.

Ora date nel terminale :
sudo mkinitramfs -o /boot/initrd.img-ramboot

Potrebbe darvi due warning ma è normale
A questo punto ripristinate il vecchio local con:
sudo cp -f local.bak local

Aprite il file /boot/grub/grub.cfg con editor di testo come amministratori:
sudo pluma /boot/grub/grub.cfg oppure sudo gedit /boot/grub/grub.cfg

Trovate il primo pezzo di codice che assomigli al mio:
menuentry 'Debian GNU/Linux, con Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd2,msdos1)'
search --no-floppy --fs-uuid --set=root b4a375f0-3cae-41ec-a130-fd9fa5207b07
echo 'Caricamento Linux 3.2.0-4-amd64...'
linux /boot/vmlinuz-3.2.0-4-amd64 root=UUID=b4a375f0-3cae-41ec-a130-fd9fa5207b07 ro quiet
echo 'Caricamento ramdisk iniziale...'
initrd /boot/initrd.img-3.2.0-4-amd64
}

Copiatelo e incollatelo appena più in alto modificandolo poi come segue:

In menuentry aggiungete una scritta che vi faccia sapere che è la voce che carica in ram in sistema:
io ho aggiunto RAM!!! (state attenti a non farla troppo lunga o potrebbe essere un problema)
Poi nella riga dove è scritto :
initrd /boot/qualcosa
sostituite qualcosa con:
initrd.img-ramboot
Il mio menuentry risulta essere questo:
menuentry 'Debian GNU/Linux,Linux3.2.0-4-amd64 RAM!!!' --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd2,msdos1)'
search --no-floppy --fs-uuid --set=root b4a375f0-3cae-41ec-a130-fd9fa5207b07
echo 'Caricamento Linux 3.2.0-4-amd64...'
linux /boot/vmlinuz-3.2.0-4-amd64 root=UUID=b4a375f0-3cae-41ec-a130-fd9fa5207b07 ro quiet
echo 'Caricamento ramdisk iniziale...'
initrd /boot/initrd.img-ramboot
}

In patica abbiamo creato un'alta voce del grub uguale ma che invece di partire con :
initrd /boot/initrd.img-3.2.0-4-amd64

parte con
initrd /boot/initrd.img-ramboot

E quindi carica in ram il sistema.

A questo punto salvate e chiudete il file .

Riavviate ed ora dovreste avere nel grub 2 voci simili una delle quali ha RAM!!! nella scritta .

Scegliete quella e dopo 10-15 minuti il vostro sistema sarà partito su ram ed avrete una velocità di
risposta estremamente veloce!

Riavviando e selezionando la voce che non fa partire il sistema in ram potrete avere il vecchio
sistema,tutte le modifiche applicate a questo sistema saranno copiate poi nel sistema in ram.

Io ho la cartella home praticamente vuota e il mio sistema occupa 3,7 Gb quindi a me
basterebbero 6 Gb di ram per far girare il tutto
Perchè 4 Gb li uso per tutti i files di sistema e 2 Gb di ram li uso come ram.
Con 8 gb di ram si dovrebbero far girare quasi tutti i sistemi operativi debian.

Consiglio di non tenere nulla nella home a parte i file di configurazione dei programmi e di salvare
tutti i files di uso comune in una partizione secondaria come faccio io.

Per velocizzare il boot da 15 minuti ad un minuto io uso un hard disk alllo stato solido
che in questo modo riduce di molto il tempo che il pc impiega a caricare il sistema da disco a ram.

Ho scoperto inoltre da poco che funziona la sospensione in ram ed è perfetta perchè in questo
modo il pc lascia alimentata solamente la ram , che così mantiene i dati!
Così in 20 secondi sono di nuovo operativo ed ho tutti i programmi aperti prima della sospensione.

Se avete domande suggerimenti correzioni oppure l'articolo vi è piaciuto commentate!

Condividete l'articolo per migliorare le prestazioni dei pc e aumentare la diffuzione di linux!
Commenta