Добро пожаловать на форумы Боевого Народа (бывший форум Live.CNews.ru)!

ВАЖНЫЕ ТЕМЫ: FAQ по переезду и восстановлению учеток | Ошибки и глюки форума.
О проблемах с учетными записями писать СЮДА.
Оптимизатор оперативной памяти для S.T.A.L.K.E.R ТЧ и ЧН - Форумы Боевого Народа
IPB

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему
Оптимизатор оперативной памяти для S.T.A.L.K.E.R ТЧ и ЧН, Доступна новая версия 1.4.0.55 + Добавлена поддержка S.T.A.L.K.E.R. Зо
сообщение 3.10.2009, 12:24
Сообщение #41





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Это обманчивое ощущение, эффект плацебо. ОС делает с памятью тоже самое, но тогда когда оно действительно нужно. Я не ругаюсь, просто хочу заметить, что самостоятельное постоянное скидывание страниц в своп - неразумное действие.
В это же действие входит "оптимизация" через affinitimask (раскидка по ядрам CPU и приоритеты) которые делают якобы Cpucontrol, много кто "действительно получил оптимизацию" - это опять же плацебо, "самовнушение творит чудеса" (с) какой то доктор smile.gif
Рекомендую найти книгу Джефри Рихтера "Windows дял профессионалов", отличная книга по Winapi, программированию, раскрывает принципы работы Операционки. Скачать можно тут http://rouse.drkb.ru/books.php (не варез, если что), но лучше купить (я получил нахаляву когда MS раздавало "Боевой комплект программиста" :D ).

PS Ну на этом, наверное все, не буду досаждать, негатив (если он чувствуется) в посты вкладывать не хотел smile.gif
PPS "Обычный" ЛС у меня режет прокси, я не могу туда ответить.
PPPS Про ЛС -
Цитата
Во-вторых, если кто-то думает, что при освобождении памяти, например при "выгрузке" dll или SetProcessWorkingSetSize(..,-1,-1) винда срузу безвозвратно "уничтожает" выделенные страницы, то тоже ошибается - умная винда просто помечает соответствующие страницы как неприсутствующие в пространстве процесса и находящиеся в переходном состоянии. В этом состоянии они могут находится сколь угодно долго, пока жив процесс и есть достаточный запас свободных и обнуленных страниц ОЗУ. Если через какое-то время процесс снова обращается к переходной странице или заново "грузится" dll, то винда просто возвращает переходные страницы процессу, экономя при этом "время и деньги". Поэтому выкрутасы с SetProcessWorkingSetSize и загрузками\выгрузками dll это просто самообман - реально из ОЗУ может ничего не выгружаться, но формально мы можем гордиться тем, что это уже не мы занимаем память, а винда ;) В результате на общем занимаемом объекме ОЗУ это никак не сказавается, но зато сильно напрягает систему и "раскаляет" процессор лишними ненужными действиями (обработка только одного отказа страницы занимает несколько тысяч тактов). Поэтому лучше не ломиться в вотчину винды как слон в посудную лавку, а довериться ее менеджеру виртуальной памяти - он сам сделает что нужно и когда нужно, сам подгрузит код и данные по первому требованию, а в случае нехватки физ.памяти сам ее почистит, выбросив наиболее давно неиспользуемые страницы.
тыц

Справка МС:
Цитата
When you increase the working set size of an application, you are taking away physical memory from the rest of the system. This can degrade the performance of other applications and the system as a whole. It can also lead to failures of operations that require physical memory to be present (for example, creating processes, threads, and kernel pool). Thus, you must use the SetProcessWorkingSetSize function carefully. You must always consider the performance of the whole system when you are designing an application.
тыц

Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 17.10.2009, 20:31
Сообщение #42





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Я, конечно, простой посредственный user, но по поводу последних постов вот что скажу в чем я убедился лично:
У меня сейчас стоит всеми горячолюбимая ;) Виста с 4Гб оперативки, начав играть в НС и выставив полную динамику(тогда RAM=3 Гб) получил сильные притормаживания, перешел на простую динамику причем со средними настройками-играть стало более-менее возможно, правдо всем известные вылеты out memory были частенько. Я почитав форумы использовал все возможные методы оптимизации памяти-от прописи в BCDEDIT до установки прог RAMRush и Memory Improve Master. Сначало казалось, что улучшение есть, но повышая настройки все ровно получал притормаживание. Я грешил на Висту(и небезосновательно)-мол она равномерно распределяет память и не дает игре требуемого. Потом вышел ЗП и все стали хвастаться, что играют на максимальном DX10. И тут, придушеный жабой, решился на "последний аргумент"-добавил 1 Гб памяти и обнаружил, что ОС видит только 3,5 Гб, но все-же я смог относительно плавно играть на максимальных настройках и в ЗП и в НС. Естественно я еще с помощью утилит оптимизировал скорость(отключив некоторые процессы, якобы ненужные) но после игры получал разные баги и ошибки просто работая на компьютере.
В заключении хочу сказать-для чего я все это написал:
Незнаю как на XP и W7(на который все-таки стоит перейти наверно), но мне на 32-бит Висте реально помогло только увеличение оперативки(пусть система не видит все 4Гб, но и 3,5 не 3 все-таки)+прога GameBooster, отключающая ненужные процессы только на время игры.Хоть уважаемый RamSoft и предупредил о том, что эта прога только для машин с маленькой RAM, но думаю смысл один и тот же.
Извените за стиль написания, если что не так, но я не программист и спец.определениями не владею :no:

P.S. antonn намучился, читая мелкий шрифт-это же не флуд, а обсуждение, не издевайся над нашим зрением ;)

Сообщение отредактировал seamen34 - 17.10.2009, 20:39
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 17.10.2009, 21:05
Сообщение #43





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



ну это типа было нытье smile.gif
не под 64 битной ОС каждой программе адресуется только 2Гб (независимо от того, сколько стоит в ПК).
По умолчанию ОС (winnt) поддерживает 4Гб, но делит она поровну для себя и для пользовательских программ (имея 4Гб можно через boot.ini заставить ее забрась себе 1Гб, а приложениям отдать 3Гб). Если честно я еще не видел программы, которая отожрала бы 2Гб и которую нужно было запустить в 2х экземплярах smile.gif
Если после добавления памяти ОС стала работать лучше значит лишь то, что для твоих задач прошлого объема не хватало, и никакие программы не помогли бы (окромя твикеров и остнастки самой винды - например вырубить службу индексирования).
Всякие "лишние" процессы жрут мало, а в режиме "бездействия" почти полностью лежат в свопе, освобождая страницы для других задач (если других задач нет - они будут лежать в оперативке, потому люди пугаются, что винда даже "ненагруженная" много жрет. Она не много жрет, она дальновидная просто :D )

Функция которую задействовал Автор программы очень полезна, например когда я в своей программе сделал сложный расчет с применением большого буфера, потом буфер становится и не нужен и программа улетает в трей - вызвав функцию я могу внеурочно попросить ОС сбросить страницы свой программы в своп, потому что я уверен - она пока не нужна. Делать это с другими процессами не зная как на самом деле устроена их логика может вылезти боком.

По поводу РМ - у меня 4 винта, и одна ОС, вот уже 3й год без болячек, без глюков, ХР smile.gif
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 17.10.2009, 22:36
Сообщение #44





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Цитата(antonn @ Суббота, 17 Октября 2009, 22:05:01) *
Делать это с другими процессами не зная как на самом деле устроена их логика может вылезти боком.

antonn, За 3 года использования данной функции и разной модификации программы ни единой ошибки не наблюдалось... ИМХО...

seamen34, максимальное количество памяти забранное под процесс это было около 1700 МБ. Возможно "тормоза" наблюдаемые тобой это следствие других аспектов твое машины...
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 17.10.2009, 23:43
Сообщение #45





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Цитата
За 3 года использования данной функции и разной модификации программы ни единой ошибки не наблюдалось...

Это из-за того, что винда очень крепкая smile.gif
Но в диспетчере есть такая колонка как "Счетчик ошибок страниц", довольно интересно на него поглядывать, если не ошибаюсь он как раз отобразит попытку поиска страницы, а она оказалась выгруженной, и у насильно "выгруженных" в своп процессов он начнет тикать быстрее, а эти процессы почти все системные... По крайней мере в самой справке на msdn написано о возможных траблах.

ЗЫ Ты правда считаешь, что сабж может помочь? Последний раз я такую обманку видел тут тыц
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 18.10.2009, 0:00
Сообщение #46





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Цитата(antonn @ Воскресенье, 18 Октября 2009, 00:43:18) *
Ты правда считаешь, что сабж может помочь?

На своём опыте убедился что помогает, причем на системе с 256 Mb RAM...
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 19.10.2009, 8:56
Сообщение #47





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Цитата
seamen34, максимальное количество памяти забранное под процесс это было около 1700 МБ


Это вы имеете ввиду под процесс xr Engin.exe ?
Провел маленькое исследование:
При запуске с обычного экзешника в диспетчере задач отоброжается значение памяти менее 1000Мб(800 с лишним)
При запуске со СТАЛКЕР Loader значение выросло действительно до 1700(1660 с копейками)
Но всетаки имеет ли смысл прописывать в boot.ini(для висты мне надо в BCDEDIT?) значение 3Гб, если больше 2-х процесс не возьмет?
Так же если не трудно поясните значение параметров в ДЗ в разделе-быстродействие:
Физическая память
Всего 3582 (ну с этим понятно-это память которую видит система)
Кэшировано 1492
Свободно 16
И на что идет файл подкачки со значением 2746/112..(по усматр.системы)
И еще вопрос-добавление увесистых модов способствует пожиранию памяти?

Сообщение отредактировал seamen34 - 19.10.2009, 9:05
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 19.10.2009, 11:16
Сообщение #48





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



seamen34, попробую расписать на примере...
[attachment=33523:attachment]
Физическая память - Полный объем памяти установленный в системе...
Кешировано - Выделено под процессы...
Доступно - Реально используется процессами...
Свободно - Выделено, но не используется...

Цитата
И еще вопрос-добавление увесистых модов способствует пожиранию памяти?

Смотря за что эти моды отвечают... Если это текстуры более высокого разрешения, или же новые звуки превышающие по объему оригиналы раза в два... Или же переделанная локация на которую навешали много новых объектов... И чтобы всё это было в игре, нужно всё это разместить в памяти...
Вывод, чем увесистее мод, тем больше потребуется оперативной памяти для игры с ним (но не всегда)...
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 19.10.2009, 13:02
Сообщение #49





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Цитата
Но всетаки имеет ли смысл прописывать в boot.ini(для висты мне надо в BCDEDIT?) значение 3Гб, если больше 2-х процесс не возьмет?

эту опцию специально вынесли в boot.ini, специально не дали удобного способа редактирования его, потому что она врядли кому то нужна из обычных домашних пользователей. Эта опция как раз и есть ограничение на кол-во памяти адресуемого процессу, по умолчанию это 2Гб, а 2Гб остается на адресацию для системных процессов (винда 32 битная не сервер может адресовать 4Гб). Включая эту опцию Винда для себя оставляет 1Гб, а для процессов позволит выдать 3Гб. Однако отсюда не следует, что она сразу же освободит свой гигабайт и все "залетает", т.к. работает опция с виртуальной памятью. Отсюда, если процесс занимает 1500Мб и есть свободной оперативки на на 2Гб, не обязательно что он весь будет в ней, "неиспользуемые" страницы будут выгружены в своп, нет такой программы которой сиюмоментно нужны были бы эти 1,5Гб.

По поводу вистовского диспетчера, вроде бы так:
Всего - всего оперативки
Кешировано - выделенно места в оперативке, но так как всем хватает неиспользуемые страницы не сброшены в своп (т.е. именно кеширование - если страница понадобится то она будет уже в оперативке, а не вытягиваться со свопа, если кому то понадобится место эти страницы уйдут в своп)
Доступно - сколько "свободной" оперативки еще есть, не использованной
Свободно - память со страницами у которых истек "срок годности", они висят, но могут быть прям сейчас сброшены и отдаться другим.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 19.10.2009, 15:02
Сообщение #50





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Да, вроде бы общее представление описали, спасибо, но вы не учитываете тот факт, что у меня Виста, а в ней все намного хуже как я понял. Я как то читал статью, что в Висте вся память уже поделена и не важно-запущены процессы, отключены или спят, память все ровно им выделена и хранится зарезервированной, не выгружаясь для других процессов/приложений. Это сделано якобы для ускорения, хотя тоже сомневаюсь, что домашние пользователи запускают сразу много программ включающие сразу десятки служб винды, и при этом хотят молниеносного их отклика. Вот видно поэтому в ДЗ строки "доступно" вообще нет-она вся уже как бы занята по умолчанию.
Если я не прав поправьте-можен просто она не включена в настройках?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 19.10.2009, 15:12
Сообщение #51





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



да зачем тебе туда лезть? smile.gif
память в винде имеет сложную организацию, она использует как оперативку, так и своп, причем прозрачно для программ, в принципе нет такого понятия как "свободная память". Там куча кеширований, выделений памяти с запасом, простой арифметикой 2+2 оно не считается. То, что в диспетчере показывается как "память" для процесса ничего не говорит, открой столбец "Виртуальная память" - вот это уже означает сколько процесс реально занимает, и эта занимаемая память лежит в оперативке+своп. Остальное - примерный подсчет, "чтобы бы было".
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 25.10.2009, 15:10
Сообщение #52





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



seamen34 Что это? Если по Диспечеру задач судить, то у тебя что? 3х-ядерный проц? :D
Зы..не..ну просто я ещё о таком неслышал.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 25.10.2009, 15:18
Сообщение #53





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Jra, Скорее всего у него AMD Phenom X3...
З.Ы. Чаще читай новости ;)
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 28.10.2009, 22:18
Сообщение #54





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Бесполезная прога. Фишка в том, что когда игре (или другому ненасытному приложению) не хватает памяти, то винда отбирает эту память у других прог, висящих в фоне. Сама отбирает, без посторонней помощи, что ХР что семерка. Причем делает это интеллектуально, оставляя прогам часть памяти, потому что она им необходима даже во время бездействия, пусть и немного (сколько - зависит от конкретного приложения). А обсуждаемый утиль косит под одну гребенку отбирая всё, поэтому во время игры постоянно будет микросвоп или повышенное общение с кэшем диска. Другими словами, памяти не прибавится, а быстродействие процессора снизится.

Как я говорил выше, винда отбирает память у других, но память отведенную под кэш диска отдает не всегда охотно, у нее там свои хитрозадые алгоритмы, включая спорный superfetch. Однако и здесь обсуждаемый утиль бесполезен, дисковый кэш нельзя уменьшить функцией SetProcessWorkingSetSize(). Наоборот, он даже может вырасти из-за описанного выше повышенного общения с диском.

Кстати, программу можно довольно просто улучшить. Нужно, что бы после нажатия на кнопку ничего не происходило (троян типа :D ). При этом эффект плацебо останется, и негативного действия не будет. Но об этом нужно помалкивать, иначе и эффект плацебо пропадет. smile.gif

antonn
Цитата
и зачем то упакованная UPXом
Тоже удивился. Может он думает, что прогу с дискетки запускать будут? smile.gif

seamen34
Цитата
Я как то читал статью, что в Висте вся память уже поделена и не важно-запущены процессы, отключены или спят, память все ровно им выделена и хранится зарезервированной, не выгружаясь для других процессов/приложений.

Толстуха Писта конечно жрет больше хрюшки, но описанного тобою нет. Я думаю, в статье говорилось о том, что теперь SetProcessWorkingSetSize() система не вызывает когда окна сворачивают. Это только подтверждает, что система сама способна понять, когда нужно отнимать у прог память. Сворачивать для этого окна или пользоваться левым утилем не обязательно.

Цитата(RamSoft @ Понедельник, 19 Октября 2009, 11:16:40) *
seamen34, попробую расписать на примере...
[attachment=33523:attachment]
Физическая память - Полный объем памяти установленный в системе...
Кешировано - Выделено под процессы...
Доступно - Реально используется процессами...
Свободно - Выделено, но не используется...

Уточняю
[attachment=33736:attachment]
Скрин семерки x64.
total - всего памяти в компе
memory (зеленый график) - занято физической памяти виндою и прогами
cached - здесь хранятся данные, которые могут понадобится прогам или винде. большая часть - это кеш диска.
available = total - memory (формула примерная) Типа свободно, если в своп ничего не закидывать.
free = total - memory - cached. (формула сильно примерная) Это память свободна и нефига не делает.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
a185
сообщение 29.10.2009, 6:55
Сообщение #55


Батя
********

Группа: Администраторы
Сообщений: 8845
Регистрация: 11.8.2017
Из: Столица Деревень
Пользователь №: 48130



А что, в одиночку уже выступать не принято? Обязательно надо группу поддержки звать?


--------------------
«Мы русские - какой восторг!» А.В.Суворов
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 29.10.2009, 9:05
Сообщение #56





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



т.е. если двое высказали свое мнение с разницей в 10 дней это называется "группа поддержки"? :D
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
a185
сообщение 29.10.2009, 14:08
Сообщение #57


Батя
********

Группа: Администраторы
Сообщений: 8845
Регистрация: 11.8.2017
Из: Столица Деревень
Пользователь №: 48130



antonn, я тоже просто мысль высказал, причем ничего обидного не сказал!


--------------------
«Мы русские - какой восторг!» А.В.Суворов
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 29.10.2009, 14:14
Сообщение #58





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



Цитата(a185 @ Четверг, 29 Октября 2009, 06:55:48) *
А что, в одиночку уже выступать не принято? Обязательно надо группу поддержки звать?

А тебя кто позвал?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
a185
сообщение 29.10.2009, 14:20
Сообщение #59


Батя
********

Группа: Администраторы
Сообщений: 8845
Регистрация: 11.8.2017
Из: Столица Деревень
Пользователь №: 48130



CoolCmd, меня никто, я тут живу! ;)


--------------------
«Мы русские - какой восторг!» А.В.Суворов
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 29.10.2009, 22:32
Сообщение #60





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



a185 я не обижаюсь и обидеть не хотел smile.gif
Перейти в начало страницы
Вставить ник
+Цитировать сообщение

3 страниц V  < 1 2 3
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 16.4.2024, 20:27
Консультации адвоката по уголовным делам. Бесплатно. По всей России