Проблема с терминалом

 
Здравствуйте. У меня проблема с MT4. Постоянно зависает. Переустанавливал терминал несколько раз и в разные места, не помогло. У меня стоит робот и ошибки в его работе фиксируются. Так вот если посмотреть в реестре информацию о работе робота, то выяснилось, что терминал виснет и пишется ошибка - "недостаточно памяти". Если терминал перезагрузить и заново запустить робота, то он будет работать, но недолго, и опять виснет с той же записью в реестре. Связано ли это с объемом жёсткого диска и размером файла подкачки? Параметры системы 4 ядра, 8 гб памяти, 40 гб жёсткий диск. На жестком кроме мт 4 ничего не стоит.
 
Harlamon:
Здравствуйте. У меня проблема с MT4. Постоянно зависает. Переустанавливал терминал несколько раз и в разные места, не помогло. У меня стоит робот и ошибки в его работе фиксируются. Так вот если посмотреть в реестре информацию о работе робота, то выяснилось, что терминал виснет и пишется ошибка - "недостаточно памяти". Если терминал перезагрузить и заново запустить робота, то он будет работать, но недолго, и опять виснет с той же записью в реестре. Связано ли это с объемом жёсткого диска и размером файла подкачки? Параметры системы 4 ядра, 8 гб памяти, 40 гб жёсткий диск. На жестком кроме мт 4 ничего не стоит.
Без робота не виснет? Тогда ищите ошибки в коде.
 
Vitalie Postolache:
Без робота не виснет? Тогда ищите ошибки в коде.
Без робота не виснет. Если робота немного сократить, не меняя структуру сократить количество валютных пар, то вроде все работает и ошибку о нехватке памяти не даёт.
 
Harlamon:
Без робота не виснет. Если робота немного сократить, не меняя структуру сократить количество валютных пар, то вроде все работает и ошибку о нехватке памяти не даёт.

Значит у вас утечки памяти - memory leeks по английски. Просмотрите тщательно код, на каждый new должен быть соответствующий delete.
 
Alexey Volchanskiy:

Значит у вас утечки памяти - memory leeks по английски. Просмотрите тщательно код, на каждый new должен быть соответствующий delete.
Памяти хватает, стоит 8, а используется 3,5 гб
 
Harlamon:
Памяти хватает, стоит 8, а используется 3,5 гб

Сами же пишете - и пишется ошибка - "недостаточно памяти". 
 
Harlamon:
Памяти хватает, стоит 8, а используется 3,5 гб

Терминал MT4 32-разрядный. В обычных условиях 32-разрядные приложения Windows адресуют до 2 Гб памяти каждое (максимальный размер 32-разрядного целого числа со знаком), и то теоретически. Реально у меня валились программы, где выделялось два куска памяти по 800 Мб.

Посмотрите, почему столь велик размер отбираемой терминалом (советником?) памяти, нельзя ли снизить.

Маловероятной, но возможной причиной может оказаться еще и малая емкость диска. По умолчанию операционная система может отобратть из нее те же 8 Гб под свопирование памяти.
 
Alexey Volchanskiy:

Сами же пишете - и пишется ошибка - "недостаточно памяти". 
Дословно пишет "not enough memory". И я связываю это не с оперативной памятью а с местом на жестком диске. Стоит 40 гб, свободно 12 гб, файл подкачки 1 гб. Вот и был вопрос, достаточно ли свободного места на жестком диске.
 
Harlamon:
Дословно пишет "not enough memory". И я связываю это не с оперативной памятью а с местом на жестком диске. Стоит 40 гб, свободно 12 гб, файл подкачки 1 гб. Вот и был вопрос, достаточно ли свободного места на жестком диске.

Для вас not enough memory и no disk space одно и тоже? C какие пор дисковое пространство начало называться памятью, это типа как бы хранилище

если оператива не вся занята это еще не значит что ее хватает, она может высвобождаться системой в файл подкачки скидывать.. хотя хз вообще че у вас там за веселье происходит :)

 

То, что у вас терминал съедает 3,5 гб это уже не нормально. Проблема явно в коде. Увеличение ресурсов проблему не решит, так как терминал 32 разрядный.

 

У вас папки с логами наверно уже накопились на очень большой объём.
Удалите всё из папок (logs) и (MQL4 - Logs) и (tester - logs)

P.S. удалять все файлы с цифровыми значениями