Я пишу много-много данных, которые не будут считываться снова в течение нескольких недель - поскольку моя программа выполняет объем свободной памяти на машина (отображается как «бесплатно» или «вверху») очень быстро падает, объем памяти, который использует мое приложение, не увеличивается, равно как и объем памяти, используемый другими процессами.
Это наводит меня на мысль, что память используется кешем файловой системы - поскольку я не собираюсь читать эти данные в течение длительного времени, я надеюсь обойти системные буферы, чтобы мои данные записывались непосредственно на диск. . Я не мечтаю улучшить производительность или стать супер-ниндзя, я надеюсь дать подсказке файловой системе, что я не собираюсь возвращаться за этой памятью в ближайшее время, поэтому не тратьте время на оптимизацию для этих случаев.
В Windows я столкнулся с аналогичными проблемами и решил проблему с помощью FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH - мое приложение не потребляло память машины, и машина в целом была более удобна в использовании. Я надеюсь повторить улучшения, которые я видел, но в Linux. В Windows есть ограничение на запись кусками размером с сектор, I ' Я доволен этим ограничением измеренного мной прироста.
есть ли аналогичный способ сделать это в Linux?