|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Дня доброго. Есть достаточно простой код, который создает гиговый файл со случайными байтами. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44.
По результату у нас в папке будет 1.2 Гб файл: https://prnt.sc/1z03cz7 И этот же файл, за каким то фигом будет маппирован в память: https://prnt.sc/1z03gho Хотя этого я точно у системы не просил (нет никаких CreateMappedFile) Как его сбросить из mapped? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 12:03 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Ежов Дмитрий Сергеевич, FILE_FLAG_WRITE_THROUGH делает это для кэширования. После закрытия файла там уже не должно его быть, наверно не успевает та твоя прога, которой ты смотришь, что файл есть. Не знаю, зачем тебе понадобился этот флаг, если ты не хочешь кэширования в память файла. На просто судорожное использование флагов похоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 12:14 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
YuRock, да, я уже многое судорожно подергивал. И без этого флага (который отменяет кеширование) - та же картина. Пробовал, кстати, на разных компах, на десктопной и серверной виндах. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 12:16 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Ежов Дмитрий Сергеевич, Просто передай в тот параметр FILE_ATTRIBUTE_NORMAL. Если и это не поможет - забей. Либо та прога-монитор глючит, либо так и должно быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 12:30 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
YuRock, "Просто передай в тот параметр FILE_ATTRIBUTE_NORMAL." попробовал - тоже самое. "прога - монитор глючит". Это даже не смешно, это RamMap от Руссиновича. https://docs.microsoft.com/en-us/sysinternals/downloads/rammap Кому, как не ему, знать внутрянку Венды. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 12:39 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Ежов Дмитрий Сергеевич, Не знаю, кто такой Руссинович, и не знаю, что там та прога показывать должна. Может, она должна показывать открытые в данный момент файлы. Но если после CloseHandle она что-то показывает - то значит, что с этой прогой что-то не так. Может, конечно, винда кэширует открытые файлы, но очень сомневаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 12:54 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Может его в это время антивирус шерстит? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 13:23 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Ежов Дмитрий СергеевичИ этот же файл, за каким то фигом будет маппирован в память: В каком месте этого скрина ты увидел "маппирован в память"? Может, стоит таки разобраться что именно показывают утилиты от Руссиновича?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 13:37 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 13:47 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Да и произвольный доступ на чтение блоками по 32 Кб дает скорость в 800 Мбайт/сек, при нулевой загрузке моего полудохлого 5400 винта, что как бэ говорит о чтении памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 13:49 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Но на самом деле вопрос снят Сделал с комбинацией FILE_FLAG_NO_BUFFERING or FILE_FLAG_WRITE_THROUGH и все взлетело. Диск у меня с размером сектора в 512 байт, буфер будет кратен 512 (я взял 32768) и все у меня записалось. Буфер выделял через getmem(), а не virtualalloc(), но ошибок не было, может там чето несогласованно записалось, но мне пофиг, мне нужен тупой большой файл на диске. 1С ники справились быстрее https://forum.mista.ru/topic.php?id=873725 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 13:50 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Ежов Дмитрий Сергеевичпримерно вот тут Поздравляю, ты нашёл системные буфера. Тебя беспокоит их существование?.. https://techcommunity.microsoft.com/t5/ask-the-performance-team/introduction-to-the-new-sysinternals-tool-rammap/ba-p/374717 Standby: Pages of physical ram not actively being used. These are still left in physical ram but will be repurposed first by the memory manager (either returned to the active list or zeroed out and reused) if something needs physical ram for active pages. Standby pages are essentially cache – it’s better to have infrequently used data kept in RAM “just in case” than pushing it out to disk when the memory isn’t needed for anything else. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 13:54 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, меня ничего не беспокоит. Я уже давно понял, что каши на этом форуме не сваришь. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 14:01 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Ежов Дмитрий СергеевичСделал с комбинацией FILE_FLAG_NO_BUFFERING or FILE_FLAG_WRITE_THROUGH и все взлетело. Поздравляю ещё раз, ты нашёл способ отключить системную буферизацию. Но стало ли твоё поделие от этого работать лучше или ты просто его замедлил в восемь раз?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 14:04 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Ежов Дмитрий Сергеевичмне нужен тупой большой файл на диске. Для этого в него вообще не обязательно что-либо писать, достаточно вызвать SetFilePos + SetEndOfFile. Самый цимес будет если установить флаг "sparse". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 14:10 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Мне нужно оценивать произвольный доступ к диску для холодного файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 14:15 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Если не указывать FILE_FLAG_NO_BUFFERING - система проецирует файлы в память кусками mmf вроде по 256Kb. Может сейчас другие цифры. В подавляющем большинстве случаев это нормальная картина, которая никому не мешает жить. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 14:18 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
А для этого вообще файл создавать не нужно, можно читать прямо физический диск. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 14:19 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Ежов Дмитрий Сергеевич Dimitry Sibiryakov, Мне нужно оценивать произвольный доступ к диску для холодного файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 14:20 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov А для этого вообще файл создавать не нужно, можно читать прямо физический диск. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 14:21 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Barmaley57, "https://crystalmark.info/en/software/crystaldiskmark" Я ее прекрасно знаю, с ней и сравниваю свои результаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 14:44 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, "А для этого вообще файл создавать не нужно, можно читать прямо физический диск." Запороть по ошибке что нибудь на жестком диске? Да еще у клиентов. Спасибо, не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 14:45 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Запороть что-то чтением? Для этого нужно быть особо выдающимся программистом. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 14:48 |
|
CreateFile создает mapped-file, даже если его не просишь.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, да, вы правы, только чтением ничего не запоришь. Изначально я подумывал, что буду писать в свободные сектора диска и их же читать и испугался, что запишу не в свободные. А просто читать произвольные сектора - это доступ к данным, которые мне нельзя читать просто потому, что это не мои данные, да и, уверен, Windows не позволит без полных прав. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 15:41 |
|
|
start [/forum/topic.php?fid=58&msg=40110637&tid=2036890]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 160ms |
0 / 0 |