Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Как зарезервировать часть оперативки для приложения (http://forum.oszone.net/showthread.php?t=51814)

BJ Co 19-07-2005 00:44 342057

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

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

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

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

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

Спасибо. :help:

dascon 19-07-2005 01:37 342062

Это вопрос скорее в раздел прогаммирования. А с какой скоростью поступают данные с PCI-шной платы?

BJ Co 19-07-2005 04:28 342076

Цитата:

А с какой скоростью поступают данные с 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 342204

Цитата:

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

BJ Co 19-07-2005 20:20 342246

У меня есть для старой версии. Выслать на e-mail?

Кстати, тут тусуется автор (s.o.v.a). Такая проблема есть и у других пользователей.


Время: 13:52.

Время: 13:52.
© OSzone.net 2001-