Войти

Показать полную графическую версию : Как зарезервировать часть оперативки для приложения


BJ Co
19-07-2005, 00:44
Есть одно приложение, которое постоянно получает данные (с PCI-шной платы) и понемногу скидывает их на винчестер, в файлы. Иногда винчестер бывает слишком загружен этим приложением; тогда часть данных откладывается в "оперативке", и скидывается при первой же возможности, как только нагрузка на хард уменьшится.

Но вот проблема: иногда физической оперативки не хватает, и тогда часть данных навсегда и безвозвратно теряется.

Специально для этого приложения был куплен дополнительный винчестер на 7200 об/мин, увеличена оперативка до 512 MB. Проблема стала меньше, но не исчезла.

Поэтому прошу помощи: можно ли как-то зарезервировать часть оперативки для этого приложения? Чтобы не боятся постоянно, что не вовремя запущенное другое приложение возмет себе слишком много её (оперативки), и ... потеряются данные. Или как-то по другому решить проблему (варианты типа увеличить оперативку до 1GB, 2GB, ... не очень-то нравятся). Ну, вы поняли. :)

Система - Win2k. Если это поможет решить мою проблему, готов поставить и изучить Linux.

Спасибо. :help:

dascon
19-07-2005, 01:37
Это вопрос скорее в раздел прогаммирования. А с какой скоростью поступают данные с PCI-шной платы?

BJ Co
19-07-2005, 04:28
А с какой скоростью поступают данные с PCI-шной платы?
Приложение работает уже 3 сутки, и на него поступило 1060 GB. Из них было профильтровано и сброшено на винчестер 115 GB. То есть скорость поступления даных с PCI-шной платы ≈ 4.2 MB/s, средняя скорость даных, записываемых на винчестер, ≈ 0.45 MB/s. На даный момент скорости чтения и записи (на этот дополнительный винчестер) такие - 40 sectors/s и 3200 sectors/s соответственно, то есть 20 KB/s и 1.5 MB/s (информация получена от проги Disk Monitor, www.sysinternals.com).

Если я правильно уловил ход твоих мыслей, то ты думаеш, не идет ли на винчестер слишком большой поток даных. Нет, не идет. Обьясню почему. Я могу нормально (без потерь данных) записывать весь поток с PCI-шной плати, а он, очевидно, больше, чем тот (профильтрованый), который пишется сейчас.

Мне нужно было ещё в первом посте написать, что я догадываюсь, почему "захлёбывается" винчестер. Приложение пишет даные в файли, которые оно время от времени создает. Размеры файлов разные. Так вот, догадываюсь, что для создания большого файла (от ста мегабайт) нужно какое-то время; может, несколько секунд; думаю, что именно в эти секунды даные других файлов откладываются в оперативке, до лучших времен, когда они будут скинуты на винт. Система - NTFS, и раздел со временем стает фрагментирован.

P.S. Спасибо, что откликнулся. Что можеш посоветовать. Или, может, другие знают решение проблемы.

dascon
19-07-2005, 17:12
Так вот, догадываюсь, что для создания большого файла (от ста мегабайт) нужно какое-то время
странно как-то все это...а исходники этой проги есть?

BJ Co
19-07-2005, 20:20
У меня есть для старой версии. Выслать на e-mail?

Кстати, тут (http://www.pyramidmagsat.honsat.ru/viewtopic.php?t=15411) тусуется автор (s.o.v.a). Такая проблема есть и у других пользователей.




© OSzone.net 2001-2012