qual è il numero massimo di file che c fopen
può aprire contemporaneamente in Linux?Numero massimo di file che possono essere aperti da c "fopen" in linux
risposta
si può vedere il massimo consentito file aperti (limite del kernel) facendo:
cat /proc/sys/fs/file-max
Il valore nel file-max indica il numero massimo di file- maniglie che il Il kernel di Linux verrà assegnato. Quando ricevi un sacco di messaggi di errore relativi all'esaurimento degli handle di file, potresti voler aumentare questo limite.
limite mostrando 1.201.326, ma l'apertura fopen solo 1022 – naren
Questo è limite di utenti probabilmente;) Vedi' ulimit -n' – nullpotent
FOPEN_MAX non è un limite. Ti dà il * numero minimo di flussi che le garanzie di implementazione possono essere aperte simultaneamente * – jh314
L'implementazione è richiesta per fornire FOPEN_MAX
in <stdio.h>
. Questo è il numero minimo di file che le garanzie di implementazione possono essere aperte contemporaneamente. Potresti essere in grado di aprire più di questo, ma l'unico modo per sapere che è quello di testare.
Si noti che il limite del kernel è separato da questo, che indica quanti file è possibile (potenzialmente) aprire con open
, creat
e altre chiamate del sistema operativo. La libreria standard dell'implementazione C può (e spesso lo farà) imporre il proprio limite (ad es. Allocando staticamente un array di FILE
). In teoria, il numero più grande che puoi aprire è il minimo del limite imposto dal kernel e dall'implementazione della libreria, ma il limite del kernel è quasi uguale a sempre (molto) più alto.
In generale, se ci tieni a questo, sei probabilmente fare qualcosa di sbagliato però.
È definito dallo standard POSIX. Rimuoverlo causa problemi di portabilità. Inoltre, questa macro è menzionata in glibc.info (almeno in redhat-7.1). Si prega di fare riferimento al link sottostante OPEN_MAX not defined in limits.h.
Questo codice dovrebbe indicare il numero massimo sulla macchina. Crea un file "test" nella stessa cartella ed eseguilo. In pratica continua ad aprire il file fino a quando non può più.
# include <assert.h>
# include <stdio.h>
# include <stdlib.h>
# include <unistd.h>
# include <sys/types.h>
# include <sys/stat.h>
# include <sys/wait.h>
# include <string.h>
# include <fcntl.h>
int main(){
int t;
for(;;){
t = open("test", O_RDONLY);
if (t < 0){
perror("open");
exit(1);
}
printf("%d: ok\n", t);
}
}
- 1. È ragionevole aspettarsi che in Linux, fd <numero massimo di descrittori di file aperti?
- 2. Numero massimo di cifre decimali che possono influenzare un doppio
- 3. Come aumentare il numero massimo di editor aperti in IntelliJ?
- 4. Numero massimo di processi in linux
- 5. PHP fopen() non riesce sui file anche con permessi aperti
- 6. Esiste un numero massimo di moduli che possono essere compilati tramite Cabal?
- 7. Su Linux: imposta i file aperti massimi su illimitato. Possibile?
- 8. AVAudioRecorder non crea file .m4a che possono essere aperti e riprodotti
- 9. Numero massimo di database supportati da MongoDB
- 10. WCF errore "Il numero massimo di elementi che possono essere serializzati o deserializzati in un oggetto grafico è '65536'"
- 11. Numero massimo di istruzioni in C++
- 12. Eccezione: il numero massimo di elementi che possono essere serializzati o deserializzati in un oggetto grafico è '65536'
- 13. Come trovare il numero di file attualmente aperti dall'applicazione Java?
- 14. Numero massimo di elementi che possono essere serializzati o deserializzati in un oggetto grafico ... con tipi noti
- 15. come ottenere il numero massimo da un file con script di shell bash Linux
- 16. Ottieni un numero di socket aperti in C#?
- 17. L'uso di "r +" in fopen su windows vs linux
- 18. Come ordinare per un massimo di due colonne che possono essere nulle in MySQL?
- 19. Perché i file non possono essere manipolati da inode?
- 20. Array che possono essere accesed utilizzando array [ 'name'] in C#
- 21. come aumentare il numero di tipi che possono essere gestiti da boost :: variante
- 22. File SVG in Raphael, possono essere utilizzati?
- 23. Come limitare il numero massimo di attività parallele in C#
- 24. Identificare i file aperti un processo particolare su linux
- 25. fopen() non riesce a creare un file su linux
- 26. In che modo i duplicati possono essere rimossi da un file utilizzando COBOL?
- 27. Qual è il numero massimo di file che possono essere conservati in una singola cartella, su Win7/Mac OS X/Ubuntu Filesystems?
- 28. Numero massimo di errori in CSharpCodeProvider.CompileAssemblyFromFile
- 29. Numero massimo superato di DLL in R
- 30. Come elencare i thread aperti da ogni applicazione in Linux?
Breve e dolce. Dipende. –
Dipende dal numero di file aperti da altri programmi e dal limite del kernel hardcoded, oltre a vari 'ulimit's. –
RTFM: http://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htm –