У меня есть файл, a.dat
, который составляет 1 ГБ и находится на диске. По соображениям производительности я повторно использую этот файл и просто перезаписываю его содержимое по мере необходимости, а не создаю новый файл и позволяю ему расти (каждая операция увеличения должна обновлять свой размер в inode).
Я пытаюсь снизить производительность, и искал на страницах справочника open и mount , чтобы попытаться выяснить, когда обновляются mtime и ctime для файла , Насколько я понимаю, каждый раз, когда вы меняете содержимое файла, обновляются mtime и / или ctime. Так работает xfs?
Если это так, есть ли способ отключить это в Linux? Меня не волнуют mtime и ctime, и я бы не стал платить за их обновление при каждой операции записи.
Со временем я полностью избавлюсь от файловой системы и напишу прямо на устройство, но пока что я надеюсь, что есть способ сделать это с файловой системой.
РЕДАКТИРОВАТЬ В ОТВЕТЕ НА ОТВЕТ
Для пояснения, я пишу на SSD, и выжимание из SSD каждой операции, которую я могу, чрезвычайно важно. SSD теоретически может обрабатывать порядка 25K операций в секунду, и каждая из них важна для меня. Я не хочу, чтобы кто-либо из них был потрачен впустую на что-либо, кроме записи в мои файлы. На этом примечании, на самом деле у меня есть 200 1GB файлов на моем диске, на который я пишу. Я пытался упростить проблему с моим вопросом выше.
Кроме того, каждая запись должна быть синхронной, и моя программа не будет продолжаться, пока я не буду уверен, что биты находятся на диске (что возможно возможно). Но я думаю, что эта записка имеет отношение к вопросу.