В тесте производительности я хочу обойти влияние кеша системы linux (включая кеш страниц / кэш inode и т. Д.).
Я пробовал флаг O_DIRECT, но оказалось, что прямой ввод-вывод все еще "наслаждается" эффектом некоторого кэша.
Есть ли основательный способ закрыть эффект системного кэша?
2
Какой смысл такого "нереального" теста производительности? Вы пытаетесь протестировать то, что ни одна современная ОС никогда бы не допустила.
К сожалению, это не так уж и нереально, сегодня все еще работает ядро aio. Мне бы очень хотелось, чтобы Mr.T осознал, что асинхронный ввод-вывод и кэш не являются взаимоисключающими терминами. Это то, что ребята из Microsoft осознали уже 15 лет назад (хотя, по общему признанию, производительность до Vista может быть неутешительной, особенно при параллельности). Какой-то индийский парень тоже написал патч много лет назад, но ему отказали.