Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1

Убить процесс, если тот потребляет количество оперативной памяти больше установленного значения

11.06.2013, 16:37. Показов 3394. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Собственно, весь вопрос в заголовке. Как это реализовать? Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.06.2013, 16:37
Ответы с готовыми решениями:

VS потребляет 1,4 Гб оперативной памяти
Установлено Microsoft Visual Studio Enterprise 2015 Спецификация установки Microsoft Visual Studio Enterprise 2015 Версия...

WebBrowser потребляет много оперативной памяти
я автоматизировал операции на сайте с помощью WebBrowser но при каждой итерации память потребляемая приложением растёт. Полей в классе 2,...

Chromium потребляет очень много оперативной памяти
Здравствуйте, друзья! Установил Lunux(Ubuntu 14.04) на ноутбук, чтобы как-то компенсировать устаревание железа. На борту имеем Core 2...

14
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
11.06.2013, 17:36
А убивать обязательно ?
Можно, например, связать процесс с Job-ом, а для Job-а задать
определенные лимиты на использование памяти и других ресурсов.
Про Job-объекты читать здесь: Job Objects
А вот wrapper для .NET: JobObjectWrapper
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
11.06.2013, 17:42  [ТС]
Убежденный, нет, убивать не обязательно. Можно просто какое-либо действие выполнить (например, записать в файл что-то).
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.06.2013, 17:54
http://msdn.microsoft.com/ru-r... set64.aspx

http://msdn.microsoft.com/ru-r... ngset.aspx
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
11.06.2013, 18:03  [ТС]
Psilon, попробую. Но как все-таки отследить это? Вроде того:
C#
1
2
3
4
5
Process pr=Process.Start("notepad.exe");
if ((pr.WorkingSet64/1024)>400)
{
    //event
}
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.06.2013, 18:05
anonymous2797, pr.Kill(); если убить надо
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
11.06.2013, 18:07  [ТС]
Psilon, это я знаю, но убивать необязательно, нужно просто действие выполнить. Приведенный мною выше код подойдет?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.06.2013, 18:08
anonymous2797, должен. Но насколько я понимаю, он проверит только один раз. Соответственно надо либо в цикле крутить, либо таймер запускать. В идеале - таймер + служба.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
11.06.2013, 18:12
Цитата Сообщение от anonymous2797 Посмотреть сообщение
Убежденный, нет, убивать не обязательно. Можно просто какое-либо действие выполнить (например, записать в файл что-то).
Это можно сделать через Job-объект плюс уведомление на порт завершения ввода-вывода.
Не знаю, есть ли в .NET подходящий класс или wrapper...
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
11.06.2013, 18:13  [ТС]
Psilon, пример не покажете? А то непонятно. В цикле, я думаю, не очень затратно по ресурсам будет, но все равно.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.06.2013, 18:15
anonymous2797,
C#
1
2
3
4
5
6
7
8
9
Process pr=Process.Start("notepad.exe");
while(true)
{
   if ((pr.WorkingSet64/1024)>400)
   {
    //event
   }
   Thread.Sleep(1000); //спим секунду.
}
таймер же лучше вешать на службу, тогда она никого не отвлекает и сама запускается в фоне.
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
11.06.2013, 18:16  [ТС]
Psilon, ладно, буду пробовать.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.06.2013, 18:22
anonymous2797, насчет организации службы тут почитайте, 4 очень простых шага. Для работы собственно используйте таймер для FireAndForget задачи более чем хорош System.Timers.Timer

http://habrahabr.ru/post/102826/
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
11.06.2013, 18:28
Ребята, вы чего, какие службы ?

Программа, запущенная из службы, будет стартовать от имени системы, в отдельной оконной
станции (а на Vista и выше - в отдельной пользовательской сессии) и ее окон или консоли
пользователь не увидит.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.06.2013, 18:34
Убежденный, ну я так понял окна тут как раз-таки будут лишние... Если нам нужно мониторить потребление какой-либо программы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2013, 18:34
Помогаю со студенческими работами здесь

Сколько оперативной памяти потребляет Windows 10 x64
На ноутбуку MSI GE 70-2oe windows 10, после установки последнего обновления начала потреблять порядка 4 ГБ оперативной памяти Файл с...

Как узнать сколько оперативной памяти потребляет каждая служба windows
Здравствуйте! У меня стоит семерка. Решил поотключать ненужные службы windows, с целью освобождения оперативной памяти и уменьшения...

Из одноимённых процессов убить только тот, у которого использование памяти находится в определённом диапазоне
Добрый день! Есть задача периодически убивать один из процессов Java. Отличие его от остальных Java только в размере отожранной памяти...

Excel остается в памяти. Как убить процесс?
Я пытаюсь открыть и закрыть имеющийся EXCEL файл. Как убить процесс? Мой код не может. Кто-нибудь поправит? Спасибо. vladconn ...

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru