• Проекты 4
  • Оценка -
  • Рейтинг 550

Бюджет: 5000 UAH Срок: 14 дней

"Если же увеличить, например, до 5120, то через некоторое время перестает работать (на веб запросы к ней отвечает, но запросы в БД не выполняет). И появляется ошибка о недостатке памяти. Но я никогда не видел, чтобы программа использовала больше 200 мб памяти. После перезапуска опять работает некоторое время, после чего история повторяется."
Видите, у вас ошибка "Thread creation error"? При создании потока выделяется память как в UserMode, так и в ядре системы. И вот эта память в ядре системы с особыми свойствами, в частности, она не может быть вытеснена на диск, в файл подкачки. Она обязательно всегда должна находиться в реальной оперативной памяти. И её не очень много. Грубо говоря, вы создаёте слишком много потоков.
Но думаю, что причина ещё несколько глубже. Из этого множества потоков вы одновременно создаёте слишком много файлов. Насколько я представляю себе работу драйверов файловой системы Винды, они для такого просто не предназначены. Нет, она не падает, но работать начинает очень неэффективно, расходуя тот самый драгоценный пул памяти в ядре, который нельзя свопировать на диск.
Я бы посоветовал перепроектировать программу в этом месте. Есть менее ресурсоёмкие решения.
----------------
Мне тут подсказывают, что я ошибся и, похоже, это так и есть. Я не обратил внимание на то, что процесс у вас 32битный. Обычно по умолчанию размер стека резервируемого для вновь создаваемого потока равен 1Мб. И 5120 новых потоков просто исчерпают всё адресное пространство 32 своими стеками.

  • Проекты -
  • Оценка -
  • Рейтинг 17

Бюджет: 1000 UAH Срок: 1 день

На посмотреть розобраться цена такая.
Смотрим исходники и какие компоненты используються.
Тогда можно о чемто говорить.
А так с того что есть сразу скажу тупиковый подход. Нужно менять логику, на всех пользователей ядер не хватит некогда.

  • Проекты -
  • Оценка -
  • Рейтинг 84

Бюджет: 3000 UAH Срок: 5 дней

Важный вопрос: программа раньше работала стабильно или начала сбоить начиная с какого-то времени?
А то при отсутствии ограничения на максимальное количество соединений и при наличии дудосеров, ваш сервер можно легко положить.

  • Проекты 71
  • Оценка -
  • Рейтинг 540

Бюджет: 1500 UAH Срок: 3 дня

Готов заняться Вашей задачей. Проблема с нехваткой памяти и с таймаутом для запросов понятны - но надо понимать, что безграничных ресурсов всё равно не возникнет. Ещё желательно знать версию используемого Вами SQL-сервера. Подробнее могу сказать после того, как посмотрю исходники.

  • Проекты 64
  • Оценка -
  • Рейтинг 1 321

Бюджет: 3000 UAH Срок: 5 дней

Здравствуйте,
насколько я понял, какие-то запросы вызывают задержку/нехватку памяти - программа перестаёт работать. Если есть доступ к базе и можно получить текст запроса, смогу переписать.

Ставки скрыты

В списке не показаны ставки, скрытые заказчиком или фрилансером c профилем Plus, а также ставки, нарушающие правила

Актуальные фриланс-проекты в категории Десктопные приложения

9 июля