Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16

Очистка оперативной памяти, не используемой системой

11.01.2013, 19:16. Показов 2426. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим, на ОС выполняются процессы.
Некоторые из них могут дать сбой -> Crash,
другие криво написаны и после их завершения часть памяти, используемая ними ранее, "не высвобождается".

Есть программы, позволяющие "очистить" неиспользуемую память.
Меня интересуют принципы работы таких программ,
а также хочу увидеть готовый код реализации подобной задачи и любые подсказки.

...И простите за скудную терминологию, в работе с памятью мало чего знаю,
хочется и учится, и готовое попробовать (главное систему не повесить =).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.01.2013, 19:16
Ответы с готовыми решениями:

Подсчет размера используемой приложением памяти
Добрый вечер, я написал 2 приложения и мне нужно узнать какое по памяти лучше. Для этого хочу узнать сколько памяти жрет приложение,...

Показать размер памяти, используемой конкретным процессом
Пытаюсь сделать программу которая будет показывать кол-во используемой памяти конкретным процессом. Вот собственно код: #include...

Определение размера динамической памяти, используемой процессом
Доброго всем времени суток! В общем задача следующая... Я, с помощь функции CreateProcess() создаю новый процесс (консольное приложение)....

7
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
11.01.2013, 19:23
Dragokas, система освободит память по завершению работы процесса. Не важно, крэш это был, или что-то еще.
0
840 / 347 / 67
Регистрация: 20.11.2012
Сообщений: 809
11.01.2013, 19:27
Цитата Сообщение от Dragokas Посмотреть сообщение
другие криво написаны и после их завершения часть памяти, используемая ними ранее, "не высвобождается"
Система освобождает всю память, занятую процессом автоматически после его завершения. Если речь про волшебные программы, которые освобождают память - то они просто добиваются того, что болшАя часть будет скинута в своп...
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
11.01.2013, 19:27  [ТС]
Vourhey, из того, что я знаю, я так и представлял.

Т.е. по сути, так как я написал - не бывает?

Когда-то запускал подобные программы, все таки по общей занимаемой памяти
было видно - на какие-то 20 Мб. стало больше свободной. Вот и интересуюсь.

Вообщем, нужно это для сервера (все, что могли из служб вырубили).
Все равно упираемся в предел. Чужих тулзов запускать не хотелось. Хотя бы знать , что они творят с системой при этой "якобы очистке".

WhiteP, а, теперь понятно.
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
11.01.2013, 19:36
Цитата Сообщение от Dragokas Посмотреть сообщение
Хотя бы знать , что они творят с системой при этой "якобы очистке".
Как еще вариант, "оно" может просто сбрасывать кэш или его часть.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
11.01.2013, 19:38  [ТС]
А возможно ли и на сколько сложен принцип реализации:

ограничить при запуске или у уже запущенного процесса максимальную квоту объема используемой ним памяти в надежде, что при ее превышении ОС будет использовать файл подкачки.
И в результате - на сколько стабильное поведение от процесса можно в этом случае ожидать?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
11.01.2013, 19:55
Цитата Сообщение от Dragokas Посмотреть сообщение
ограничить при запуске или у уже запущенного процесса максимальную квоту объема используемой ним памяти
Почитай мсднчик на тему работы с задачами. В частности: SetInformationJobObject апи. Навряд ли он полезет в своп, если ты ему ограничил объем памяти. Думаю, что лимитам пофигу, где ты собрался выделять память, виртуальное пространство, как единое целое. Но, хз, могу и ошибаться.

Добавлено через 11 минут
Цитата Сообщение от Dragokas Посмотреть сообщение
на сколько стабильное поведение от процесса можно в этом случае ожидать?
так это, как вы закодите ))) если процесс при нехватке памяти будет говорить "асталависта, бейби" и вешаться/падать/барагозить, то - нестабильной. А если вы найдете выход, что делать, когда очередной new откажет на вас жениться, то - стабильной. Главное багов поменьше
1
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
13.01.2013, 23:33
Еще SetProcessWorkingSetSize посмотри.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.01.2013, 23:33
Помогаю со студенческими работами здесь

Увеличение используемой оперативной памяти
Доброго времени суток. На C# была написана простая однокнопочная диалоговая форма. При использовании программа постоянно увеличивает...

Неиспользование оперативной памяти системой
Здравствуйте, столкнулся с проблемой нехватки оперативной памяти, а точнее неиспользовании ее объема системой Конфиг Мать: msi z97...

Очистка оперативной памяти
На форме кнопка. Public Class Form1 Private Declare Function EmptyWorkingSet Lib "psapi.dll" (ByVal hProcess As Integer) As...

Очистка оперативной памяти
Доброго времени суток! Сейчас делаю двусвязный список и некая проблема: как удалить единственный элемент в списке? Можно ли как-то тупо...

Очистка оперативной памяти
Здравствуйте! Где то на этом форуме встречал код для очистки оперативной памяти от Памирыча (код ниже). Подскажите, как именно она...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru