Stiamo scrivendo un software altamente concomitante in C++ per alcuni host, tutti dotati di un singolo ST9500620NS come unità di sistema e una scheda SSD PCIe Intel P3700 NVMe Gen3 per i dati. Cercando di capire il sistema più per accordare il nostro software, ho scavato attorno al sistema (due E5-2620 v2 @ CPU 2.10GHz, 32GB di RAM, in esecuzione CentOS 7.0) e sono rimasto sorpreso da individuare il seguente:Selezione del programmatore di I/O di Linux corretto per un host dotato di SSD NVMe?
[[email protected] ~]# cat /sys/block/nvme0n1/queue/scheduler
none
Questo contraddice tutto ciò che ho imparato a selezionare il corretto scheduler di I/O di Linux, come ad esempio da the official doc on kernel.org.
Capisco che NVMe è un nuovo capretto sul blocco, quindi per ora non toccherà l'impostazione dello scheduler esistente. Ma mi sento davvero strano per il "nessuno" inserito dall'installatore. Se qualcuno che ha qualche suggerimento su dove posso trovare maggiori informazioni o condividere i risultati, sarei grato. Ho passato molte ore a cercare su Google senza trovare nulla di concreto finora.
logicamente, ho ottenuto quello che hai detto. Forse avrei dovuto rendermi più chiaro - non ho visto questa opzione "nessuno" da nessuna parte. Devo scavare nel codice del kernel per trovarlo o è documentato da qualche parte? – user183394
In effetti, ero così curioso di aver scaricato l'intero 'linux-3.18.1.tar.xz' sul mio computer,' untar' la taraca 'zx'-source sorgente, e sono andato in 'linux-3.18.1/block', ha fatto un 'grep -i none' e ha esaminato anche' noop-iosched.c'. Da nessuna parte ho visto questa opzione nome "nessuna". Ora sono ancora più sconcertato perché il programma di installazione di CentOS Anaconda abbia usato questo nome apparentemente non documentato. Ehi, gente di Red Hat? – user183394
I miei dispositivi di loopback mostrano 'cat/sys/block/loop */queue/scheduler' come' none'. Sei sicuro che il tuo dispositivo sia riconosciuto, collegato, formattato correttamente e/o montato con qualche tipo di file system (ext {3,4}, btrfs). Da questo articolo [Tuning i/o schedulers per ssds] (http://dev.nuodb.com/techblog/tuning-linux-io-scheduler-ssds) tuttavia, dovrebbe mostrare tutti gli scheduler standard e uno selezionato. Almeno dovrebbe darti un'opzione usando un altro programmatore a scopo di test? – askb