# Caricamento lento dei programmi

## /dev/full

Ciao, mi sono appena iscritto  :Cool: 

Uso la Gentoo (2004.1, aggiornata poi alla 2004.2) da circa un mese, un mese e mezzo...

Ho un AthlonXP 2004+ (2000 mhz, 256 kb di cache), con 512 mb di ddram e un hd della maxtor da 80 gb... Come desktop manager uso Gnome 2.6.2-r1 e il Kernel 2.6.8-rc2 (ma ho anche il 2.4.25 ben configurato e funzionante, che mi da lo stesso problema)...

Quando avvio alcuni grossi programmi essi impiegano moltissimo a partire: Mozilla Firefox ad esempio usa una decina (!!) di secondi a partire la prima volta, e tre o quattro (!) le successive...

Ho anche fatto delle prove con super_pi, un programma che calcola il pi greco con X cifre decimali...

Se gli dico di calcolarne 2^25 ( ~ 32 milioni ), impiega un sacco di tempo: 200 secondi per inizializzarsi, e 360 per ogni "gruppo" di cifre (le calcola a gruppi di migliaia)...

Sospettavo che cio' fosse dovuto a ram, cpu o hard disk, ma ho provato ad usare lo stesso programma da un live cd, e li' il tempo impiegato per l'inizializzazione e' stato poco piu' di 40 secondi...

Se serve che posti il contenuto di un qualunque file o l'output di un comando avvisatemi...

Quale potrebbe essere il problema?  :Sad: 

PS: Avevo anche provato ad installare il prelink, ma ho notato che non cambiava nulla e l'ho rimosso...

----------

## /dev/full

Ho fatto delle ulteriori prove (oggi un mio amico e' qua' col suo computer e stiamo cercando di risolvere il mio problema) ...

Da qualunque LiveCD provi ad eseguire quel test, ottengo buoni tempi... Sia dal LiveCD della Gentoo 2004.1, sia da uno della Knoppix 3.4, sia da uno della SuSE 8.0 ...

L'hard disk (se puo' servire) e' cosi' fatto:

/dev/hda1 -> ~ 256 mb -> swap

/dev/hda2 -> ~ 128 mb -> boot (ext2)

/dev/hda3 -> ~ 81000 mb -> root (ReiserFS)

super_pi si trova (ovviamente?) in hda3...

Con la Gentoo, come ho detto nel post precedente, sto usando il kernel 2.6.8-rc2, ma ne ho diversi altri sia della serie 2.6.x, sia 2.4.x, ed ho anche il kernel 2.4.25 "originale", quello che ho emerso durante l'installazione e ho compilato senza modificarne il .config... Escluderei quindi anche un problema di kernel, oltre ad un problema di hardware...

Qualche giorno fa ho anche provato a ricompilare l'intero sistema (con l'opzione -e) dopo aver ricompilato le glibc, ma nulla e' cambiato...

Non mi viene in mente quale possa essere la causa di questi rallentamenti che sopporto sempre meno...

I programmi inoltre hanno prestazioni "normali", sia la CPU sembra buona (ho fatto un programmino in C che conta da 0 a 10 miliardi, incrementando ogni volta una variabile... Col mio computer ci metto 24 secondi, con quello di un mio amico, sempre a 2 ghz ce ne vogliono 26  :Very Happy:  ) sia la ram (che ho provato a rimuovere e mettere un'altro banco sempre da 512...

...Dove sta il problema allora? Pensavo di copiare tutto su un altro hard disk (in questo modo inoltre otterrei l'effetto di una deframmentazione di winz, giusto?), formattare il mio e rincollarci tutto quanto... Per voi avrei qualche possibilita' di risolvere?

----------

## ProT-0-TypE

hai attivato il dma nel disco (e nel kernel)? 

```
hdparm -d /dev/hda
```

----------

## unz

hdparm che dice? dma attivato?

EDIT:

ps: sarà il 4° post nel giro di 3 giorni in cui io scrivo esattamente la stessa cosa del tizio sopra ... non sono un copione ... solamente rincojonito e lento a scrivere 

 ... giusto uno sfogo  :Very Happy: 

----------

## mouser

Se è attivato il DMA e comunque vedi il sistema rallentato, puoi utilizzare un vecchio consiglio.....

La partizione di swap dovrebbe essere almento grossa quanto la tua RAM. L'ideale sarebbe se fosse il doppio di essa: ex 512 MB di RAM => 1024 MB di swap.

Con un disco da più di 80 GB non dovresti avere grossa crisi ad utilizzarne uno per la ram.

Cmq benvenuto!   :Laughing: 

----------

## shev

 *mouser wrote:*   

> La partizione di swap dovrebbe essere almento grossa quanto la tua RAM. L'ideale sarebbe se fosse il doppio di essa: ex 512 MB di RAM => 1024 MB di swap.

 

Al giorno d'oggi questa cosa non ha più molta importanza, con le quantità di ram che montano i moderni pc di swap ne basta anche meno. In ogni caso non può e non deve influire sul sistema la quantità di swap, in quanto se il sistema swappa con 512 MB di ram i casi sono due: c'è qualche problema sul sistema oppure è meglio aggiungere ram.

Ora vediamo se si tratta del dma non attivo, altrimenti controlliamo pure le cflags dell'amico, a volte se si va troppo oltre il sistema rallenta anzichè aumentare in prestazioni.

----------

## /dev/full

Vi ringrazio per le risposte, non speravo nemmeno di averne tante  :Very Happy: 

Comunque si', il dma e' attivo:

```
# hdparm -d /dev/hda

/dev/hda:

 using_dma    =  1 (on)

#
```

...Tempo fa l'avevo disattivato nel kernel per sbaglio (stavo provando a rimuovere qualche modulo riguardante eide, ata etc... Ed all'avvio il sistema me l'ha segnalato, mentre adesso non segnala nulla di cio'...

Comunque non credo che l'hard disk sia lento: a caricare alcuni giochi fa molto in fretta: ci impiega piu' o meno lo stesso tempo dei miei amici con cui gioco in rete che non hanno alcun problema ad avviare i programm ne' col super_pi (in questo periodo mi sto flashando su serioussam2 e warcraft3)... E' per questo che non sospetto sia colpa di qualcosa riguardante l'hardware...

```
Ecco le mie cflags:

CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"
```

Me le ha suggerite un utente di un altro forum... Lui non ha alcun problema con queste...

Ho compilato la gentoo dallo stage1...

L'unico programma (esclusi gimp, amule ed altri programmi non influenti) che tengo instabile e' il gcc, ma anche con la vecchia versione stabile avevo lo stesso problema...

----------

## Geps

Strano, io ho effettivamente notato che il mo secondo sistema gentoo, compilato da stage 1 con

```
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -ffast-math -funroll-loops"
```

carica firefox (l'applicazione che uso di più) molto più lentamente del sistema compilato precedentemente dallo stage 2.

Però le tue CFLAGS sono tranquille, non saprei proprio.

----------

## /dev/full

Strano...

Magari potrei provare ad allargare ancor di piu' le cflags...

A te quanto lentamente lo apre? Ci mette circa dieci secondi per aprirlo?

Comunque non lo fa con tutti i programmi... Mozilla e Firefox sono quelli con cui lo noto di piu'... Anche Gnome Terminal o Gnome System Monitor (e qualche altro programma che usa le gtk) impiegano abbastanza tempo ad aprirsi... Anche quelli sviluppati con le Qt sono parecchio lenti, ma gran parte del problema potrebbe essere per il fatto che uso Gnome...

Programmi sviluppati con altre librerie (come le SDL, OpenGL o direttamente le XLib) invece sono molto piu' veloci... L'aterm (che ho preferito allo Gnome Terminal data la lentezza di quest'ultimo) si apre all'istante... A far apparire Tux Racers ci impiego a sua volta pochissimo (in un secondo sono gia' nel suo menu'), mentre per FreeCraft bastano un paio di secondi...

Tutta via ci sono anche programmi che non credo siano sviluppati con le qt o con le GTK (come SeriousSam o Quake3) che ci mettono oltre cinque secondi a partire...

Mi viene questo dubbio: non potrebbe essere un problema di librerie condivise?

aterm ne ha giusto una dozzine, TuxRacers poco piu'... Gnome Terminal invece ne ha moltissime... Firefox pero' ne ha di meno del terminale...    :Question: 

Inoltre cio' che mi fa scartare questa idea e' che il programma super_pi ha prestazioni orribili...

PS: Il super_pi e' closed source, e non l'ho compilato con le mie cflags, tuttavia quando lo avvio ottengo il messaggio:

```
 Version 2.0 of the super_pi for Linux OS

 Fortran source program was translated into C program with version 19981204 of

 f2c, then generated C source program was optimized manually.

 pgcc 3.2-3 with compile option of "-fast -tp px -Mbuiltin -Minline=size:1000 -Mnoframe -Mnobounds -Mcache_align -Mdalign -Mnoreentrant" was used for the

 compilation.
```

----------

## Geps

 */dev/full wrote:*   

> Strano...
> 
> Magari potrei provare ad allargare ancor di piu' le cflags...
> 
> A te quanto lentamente lo apre? Ci mette circa dieci secondi per aprirlo?[/code]

 

Premetto che ho un sistema praticamente uguale al tuo, ho riavviato e provato: firefox la prima volta impiega 8 - 9 secondi, dalla seconda in poi è praticamente istantaneo.

Io ho dato la colpa alle mie CFLAGS che producono binari belli grossi, ma nel tuo caso non saprei, dovresti essere snello.

Curiosità forse OT: come si scoprono le librerie condivise usate dai programmi?

----------

## /dev/full

Bho... Magari provo comunque ad alleggerirle un po' (magari metto -O3 e levo -fomit-frame-pointer e ricompilo solo le glibc, le gtk2 e firefox... Se non cambia nulla rimetto tutto come prima...

Per vedere le librerie condivise utilizzate da un programma puoi usare ldd...

Devi passargli il path completo di un programma che d'evessere l'eseguibile di un programma scritto in C...

Ho visto che non funziona pero' con tutti i programmi: quelli closed sources sopratutto spesso non vanno... Probabilmente li hanno compilati usando delle librerie standard c diverse dalle glibc oppure linkando i vari oggetti con un linker diverso da ld...

----------

## fedeliallalinea

Magari un probelma di compilazione kernel (hai configurato tutti i chipset per bene?)

----------

## dmorab

io ho da sempre gli stessi problemi di lentezza con P4 2.6, 256 RAM

CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"  (è anche vero che uso un portatile); per quanto riguarda il problema specifico di firefox mi sembra che converrebbe utilizzare il binario piuttosto che compilare da sorgente, o utilizzare direttamente il pacchetto scaricabile da mozillaitalia.org.

O no?

----------

## /dev/full

 *fedeliallalinea wrote:*   

> Magari un probelma di compilazione kernel (hai configurato tutti i chipset per bene?)

 Non credo sia colpa del kernel...

Funziona tutto per benino... Inoltre lo fa anche col 2.4.25 "originale", quello che ho emerso durante l'installazione ed ho compilato col genkernel senza toccarne il .config... Non dovrebbe avere piu' o meno la stessa configurazione di quello che sta sul LiveCD? Eppure se uso il LiveCD non ho nessun problema...

@dmorab & Geps: A voi anche programmi come lo GnomeTerminal oGnomeSystemMonitor  si aprono molto lentamente? A me anche quelli si aprono lentissimamente  :Sad: 

Anche Nautilus, che dovrebbe fare in un secondo ad aprirsi. ci mette due o tre secondi prima che lo possa utilizzare...

Dite che sono le CFLAGS allora? (non ho ancora provato a ricompilare gtk e mozilla) ... Come potrei provare a settarle? Ed il problema con quel programma, il super_pi pero' cosa c'entra con le CFLAGS?

Se puo' servire la scheda madre e' un' ABIT NF7... Ed il processore un Thorton 2004+... La ram invece e' di quella super economica e senza marca... Ma adesso sto usando il banco di un amico che e' molto buono...

----------

## Geps

Io uso windowmaker e mi tengo l'immediatissimo xterm  :Smile: 

Le tue CFLAGS mi sembrano tranquille, con O3 creeresti binari più grossi, quindi (a rigor di logica) dovresti aumentare ancor di più i tempi di caricamento.

Ora non ho modo di ricompilare il tutto con CFLAGS più rilassate e fare le varie prove perchè sto partendo, però fossi in te proverei a scaricare firefox binario, come suggerito da dmorab e vedere che succede.

----------

## /dev/full

Ho appena emerso mozilla-firefox-bin, ma i tempi di apertura sono piu' o meno gli stessi di firefox compilato... (Devo per caso riavviare il sistema per sentirne qualche modifca? Ho chiuso solo firefox ed avviato firefox-bin, ma non ho notato differenze nel tempo di caricamento...)

Cos'altro posso provare a fare?

----------

## mriya3

1) Prova a disabilitare il logger di sistema (es. syslog )

2) Che scheda video hai?

----------

## /dev/full

 *mriya3 wrote:*   

> 1) Prova a disabilitare il logger di sistema (es. syslog )

 Disabilitato, ma non cambia niente  :Sad: 

 *Quote:*   

> 2) Che scheda video hai?

 Una Matrox G400 Millennium  :Crying or Very sad: 

Tutti i moduli riguardanti essa sono abilitati nel kernel... I sensori vanno, il direct rendering funziona etc...

----------

## /dev/full

Nessun altro consiglio?  :Sad: 

Sono tentato di formattare e reinstallare la gentoo e/o un'altra distribuzione...

La cosa che pero' mi fa venire un sacco di dubbi e' che qualche programma (come superi_pi) che non ho compilato io va male con questa Gentoo, ma va perfettamente col LiveCD di qualunque distribuzione (Gentoo compresa...)

Ho paura che anche il gcc possa essere influenzato da questo problema... Per fare un esempio, quando avete impiegato per compilare mozilla? io in media circa un'ora e mezza, ho compilato le versioni dalla 1.6-r1 alla 1.7.2...

----------

## randomaze

 */dev/full wrote:*   

> La cosa che pero' mi fa venire un sacco di dubbi e' che qualche programma (come superi_pi) che non ho compilato io va male con questa Gentoo, ma va perfettamente col LiveCD di qualunque distribuzione (Gentoo compresa...)

 

Infatti é abbastanza strano...

Hai guardato se con un banalissimo "top" ci sono processi che succhiano CPU?

Oppure spulciando nei vari log trovi strani messaggi che indicano dei conflitti?

Che driver X usi? Hai provato il super_pi in console?

----------

