Molti programmi e librerie sono compilati, per default, con i simboli di debug inclusi (con il parametro di gcc -g). Questo significa che, debuggando un programma o libreria compilato con le informazioni di debug incluse, il debugger può dare non solo indirizzi di memoria, ma anche nomi di routine e variabili.
L'inclusione di questi simboli di debug, tuttavia, aumenta significativamente le dimensioni di un programma o libreria. Per avere un'idea dell'ammontare di spazio occupato da questi simboli si dia un'occhiata ai dati seguenti:
un binario bash con i simboli di debug: 1200 KB
un binario bash senza i simboli di debug: 480 KB
file di Glibc e GCC (/lib e /usr/lib) con i simboli di debug: 87 MB
file di Glibc e GCC senza i simboli di debug: 16 MB
Le dimensioni possono in qualche modo variare in funzione di quale compilatore è stato usato e quale libreria C, ma quando si confrontano programmi con e senza i simboli di debug la differenza di solito sarà di un fattore tra 2 e 5.
Dal momento che la maggior parte delle persone probabilmente non userà mai un debugger col proprio software di sistema, è possibile guadagnare un sacco di spazio disco rimuovendo questi simboli. La prossima sezione mostrerà come eliminare tutti i simboli di debug da tutti i programmi e le librerie. Informazioni su altri modi di ottimizzare il proprio sistema si possono trovare su http://www.linuxfromscratch.org/hints/downloads/files/optimization.txt.