Ho un programma C che viene eseguito solo settimanalmente e legge una grande quantità di file una sola volta. Poiché Linux memorizza nella cache tutto ciò che viene letto, riempie inutilmente la cache e questo rallenta molto il sistema, a meno che non abbia un'unità SSD.Lettura file senza memorizzazione nella cache del disco in Linux
Quindi, come posso aprire e leggere da un file senza riempire la cache del disco?
Nota:
Con cache del disco voglio dire che quando si legge un file due volte, la seconda volta è letto dalla RAM, non dal disco. Cioè i dati letti dal disco vengono lasciati nella RAM, quindi le letture successive dello stesso file non necessitano di rileggere i dati dal disco.
Si potrebbe pensare che Linux avrebbe una certa configurazione per quanto riguarda la memorizzazione nella cache del disco. Ad ogni modo, questo è davvero un problema di tipo C? Avresti lo stesso problema indipendentemente dal linguaggio di programmazione, non è vero? Hai provato a eseguire il programma in valgrind? Potrebbe essere che hai perdite di memoria. – Sebivor
È vero, ma per il resto qualcuno potrebbe aver postato dei campioni di codice Python :) – sashoalm
Beh, se non avessi chiesto C avresti avuto più risposte "Linux". Per favore rispondi a tutte le mie domande: hai provato a eseguire il tuo programma in valgrind? – Sebivor