Размер кэша жесткого диска никуда не имеет значения, так как все современные операционные системы выполняют свое собственное кэширование и имеют НАМНОГО больше памяти для использования. Если к нему недавно обращались, то он все равно будет находиться в кеше ОС, так что наличие его в кеше диска не имеет значения, так как ОС больше не будет запрашивать у диска эти данные.
По сравнению с кэшем ЦП это похоже на то, как ваш современный толстый кэш L3 объемом 8 МБ имеет современный процессор, а затем просматривает годы и находит процессоры с 128 МБ кэш-памяти L2, которые в 32 раза быстрее, но все еще имеют старые, медленные 8 МБ L3 кэш. Это не принесет пользы, так как сначала обращаются к L2, он больше и быстрее. В этот момент спор о том, должен ли кэш L3 иметь размер 8 или 16 МБ, является спорным вопросом, поскольку что-либо в L3 также будет в L2, поэтому L3 даже не увидит запрос.
Чтобы увидеть кеш диска и ядра в действии, вы можете поиграться с dd
чтобы увидеть, как быстро вы можете читать с диска.
sudo dd if=/dev/sda of=/dev/null bs=52488 count=1
Это будет читать 512 КБ с диска. Повторите это несколько раз, и вы увидите очень быстрые цифры. На этой старой машине у меня удобно, я вижу порядка 751 МБ / с. То есть с кешем ядра. Теперь, если вы добавите опцию iflag = direct, это отключит кеш ядра, что позволит вам измерить скорость кеша диска. Повторяя это, я вижу только около 100 МБ / с, что примерно соответствует максимальной скорости передачи этого старого интерфейса IDE. Это не намного лучше, чем небуферизованная пропускная способность диска около 61 МБ / с.
Теперь спросите себя, что хорошего в том, что делает медленный, меньший кеш накопителя, когда вы не обходите кеш ядра.