PDA

Показать полную графическую версию : Поставить юзверя на "паузу"


Страниц : [1] 2

vombat2
10-12-2019, 21:56
Всем привет.
Идея возникла из обсуждения http://forum.ixbt.com/topic.cgi?id=22:91540:294#294. Я там под ником cheloyekus
Можно ли сделать скрипт, чтобы при выходе из пользователя (смене) все его процессы ставились на "паузу" и выгружались из памяти, а при входе "размораживались"?

Iska
10-12-2019, 23:07
vombat2, есть три варианта решения озвученной там проблемы:

бесплатный — принудительные пароли и завершение сеансов (вместо смены пользователя);
слегка платный — докупите оперативной памяти;
просто платный — купите по отдельной машине на каждого пользователя.

Всё остальное — от лукавого, и не решается ни скриптами, ни чем другим. Что можно выгружать в подкачку, а что — нет, определяется разработчиками на этапе создания приложения. Далее этим управляет ОС по своему усмотрению. Т.н. «заморозка» (suspend) ничего в этом плане не даёт, кроме высвобождения «тиков» процессора.

vombat2
11-12-2019, 01:35
Т.н. «заморозка» (suspend) ничего в этом плане не даёт, кроме высвобождения «тиков» процессора. »
Как минимум снижение энергопотребления в определенный нужный момент, ну и освобождение ресурсов для других сиюминутных задач. Практически мгновенное освобождение ресурсов, и столь же быстрый возврат рабочей среды. Стоит упомянуть, что в моем случае файл подкачки установлен на SSD, что также дает большой прирост в скорости.
Во вложениях - FF с 148 вкладками "заморозка"/"разморозка".

Iska
11-12-2019, 08:38
ну и освобождение ресурсов для других сиюминутных задач. »
Практически мгновенное освобождение ресурсов, »
Это не «освобождение ресурсов для сиюминутных задач», и ни разу ни «практически мгновенное». Страницы используемой памяти «замороженного» процесса начинают «устаревать» быстрее по сравнению со страницами работающих процессов, посему могут активнее вытесняться операционной системой в файл подкачки. Вы должны понимать, что это ни на байт не освобождает занятую память, просто страницы активнее сбрасываются в файл подкачки.

Давайте будем честны: Вам не нужны «все процессы», Вам достаточно приостановить работу браузера, как основного потребителя оперативной памяти. Посему возьмите PsSuspend64.exe (PsSuspend - Windows Sysinternals | Microsoft Docs (https://docs.microsoft.com/en-us/sysinternals/downloads/pssuspend)) из комплекта PsTools (PsTools - Windows Sysinternals | Microsoft Docs (https://docs.microsoft.com/en-us/sysinternals/downloads/pstools)) и сделайте два ярлыка на него в общем Главном меню или общем Рабочем столе — один на suspend процессов браузера текущего пользователя, другой — на resume их же.

Busla
11-12-2019, 10:39
Можно ли сделать скрипт, чтобы при выходе из пользователя (смене) все его процессы ставились на "паузу" и выгружались из памяти, а при входе "размораживались"? »
Вот отчасти для этого MS и начал продвигать UWP. Правда, в контексте браузеров это только UCbrowser

Iska
11-12-2019, 11:18
Вот отчасти для этого MS и начал продвигать UWP. »
Если верить написанному (найденному навскидку):
Из состояния Suspended приложение может перейти в состояние Running или же в случае, если системе необходимы ресурсы, то работа приложения может быть завершена.
здесь Application Lifecycle в приложениях Windows 8.1 и UWP / Хабр (https://habr.com/ru/post/269399/), то мне бы такого совершенно не хотелось. И — нет, мне не хочется и такого:
Если приложение работает на десктопе, то в режим Suspended оно переходит после того как пользователь сворачивает приложение. В режиме планшета приложение приостанавливается после переключения на другое приложение (в 8 и 8.1 перед приостановкой проходит несколько секунд, в 10-ке все происходит гораздо быстрее).
— чтобы на каждый чих несколько гигабайт сбрасывались в файл подкачки/восстанавливались из него (если остальная работа с памятью в ОС ведётся по тем же принципам, что и раньше [а если нет — то для чего было огород городить, только из-за энергопотребления?]).

vombat2
11-12-2019, 12:24
— чтобы на каждый чих несколько гигабайт сбрасывались в файл подкачки/восстанавливались из него (если остальная работа с памятью в ОС ведётся по тем же принципам, что и раньше [а если нет — то для чего было огород городить, только из-за энергопотребления?]). »Вот для примера, приведу 2 стандартные обыденные ситуации (осн. на реальных событиях).
1 ситация) Молодая мама, работает за ПК, на всякий случай не моя жена, но ситуация из жизни, работает за ПК, открывает там кучу программ (по работе), где-то что-то читает, куча вкладок, где-то пишет, где-то считает, где-то чертит и т.д. Затем встает, чтоб отдохнуть или сварить каши, с чувством полной безопасности или легкого пофигизма ни чего не сохранив, пароль у нее надежный. Радосный шкед подбегает чтоб зарядить свои любимые "червячки" или "танчики", но ни чего у него не работатет все дико виснет. Он, не будь дурак, делает перезагрузку, после чего все начинает фурыкать, как и ожидалось. Спустя время подходит мама, и начинаются дикие крики, стоны.. Я о чем.. детей жалко.
2 ситация) 2 студентки, одна пишет диплом, другая курсовую, у них один ПК, возможно они сестры..
3 ситуация) Мать, бабушка, шкед...
В общем, лень описывать, ситуаций может быть море, когда одним компом могут пользоваться несколько человек и когда нужно сохранить именно рабочее пространство, именно так как все открыто - может быть это какие-то карты, или планы участка и т.д., таблицы, вкладки, когда человек просто потеряет уйму времени все переоткрывая и перевосстанавливая.. И в тоже время другому надо срочно что-то посмотреть, что-то сделать, не затрагивая чужого "бардака". Частенько с таким сталкивался..

dislike
11-12-2019, 12:59
ни чего не сохранив »
Извините, у большинства программ есть настройки автоматического сохранения проделанной работы по таймеру (яркий пример: MS Word).
Вкладки браузера - сами сохраняются и восстанавливаются при перезапуске браузера, если кто-то не поленился потратить минуту времени на изучение тех же настроек. Остальное не так критично, проблема же перезагрузки "шкетом" решается разграничением прав доступа к машине и обрезанием ему ненужных функций через политики.

2 студентки, одна пишет диплом, другая курсовую, у них один ПК, возможно они сестры.. »
Ни то, ни другое не занимает столько ресурсов, чтобы об этом стоило беспокоиться. Взрослые люди (не шкеты) всегда в состоянии договориться не перезагружать машину с несохраненными результатами другого человека + гибернация.

И в тоже время другому надо срочно что-то посмотреть, что-то сделать, не затрагивая чужого "бардака". »
Вторая учетная запись + много ОЗУ, благо она сегодня не так чтоб очень дорогая.

vombat2
11-12-2019, 13:42
Если чес. не хочется ни кому ни чего доказывать, но данный вопрос меня мучил еще в далеких 2000х когда вопрос спамятью и быстродействием стоял более остро, но учитывая и тогдашний уровень технологий и несовершенство самой оси (XP) с процедурой заморозки и загрузки/выгрузки обычно случались траблы. Недавно обзаведясь недорогим SSD и установив на него файл подкачки (собственно для этого и был приобретен девайс) вдруг вспомнил и решил проверить фичу - все работает причем до удивления быстро и стабильно. Можно наоткрывать кучу вкладок, окон, приложений, потом заморозить (хоть буквально всего пользователя), выгрузить из памяти, затем разморозить и также быстро все вернется в рабочую среду - считанные секунды. Еще заметил такой нюанс - попытался открыть в FF 2017 кучу вкладок, но все зависло, в то время как процессор был занят лишь на 1/3 своей мощности. Современные же FF и Crome спокойно справляются и с 150 и с 200 вкладками (при условии размещения конечно свапа на ssd) и процессор используют на 100%. Данные обстоятельства меня не могут не радовать, можно сказать дожил, увидел технологии!)). Данный скрипт мне не необходим, просто хотелось сделать его для людей, или, так скажем, поделиться мыслью. Может быть сам как-нибудь его напишу, если будет время поразбираться, скорее всего лучше, я думаю, сделать в AutoIT..

vombat2
11-12-2019, 14:02
также быстро все вернется в рабочую среду - считанные секунды. »
Здесь боее наглядно (объем озу 8гб) - выгрузка, suspend, resume (позже выключение) - гигобайты выгружаются и залетают вновь в считанные секунды без особой нагрузки на процессор и диск, в то время как повторная загрузка чего-либо займет куда больше времени.

vombat2
11-12-2019, 14:07
А так выглядит "поднятие" этих вкладок с нуля. Здесь речь идет о браузерных вкладках, но это лишь для примера..

Iska
11-12-2019, 14:52
но учитывая и тогдашний уровень технологий и несовершенство самой оси (XP) с процедурой заморозки и загрузки/выгрузки обычно случались траблы. »
Ничего не изменилось :). Это значит лишь, что Вы ещё не наступали на эти «грабли».

выгрузить из памяти »
1) Из памяти ничего не выгружается, она как была, так и остаётся использованной; 2) да не управляете Вы самолично сбросом страниц в файл подкачки, забудьте уже об этом.

затем разморозить и также быстро все вернется в рабочую среду - считанные секунды. »
Оставьте запущенными условные «танчики» и попробуйте сделать resume — увидите разницу. А если у Вас будет не SSD — смело сможете сходить перекурить во время данного процесса.

Данный скрипт мне не необходим, просто хотелось сделать его для людей, или, так скажем, поделиться мыслью. Может быть сам как-нибудь его напишу, если будет время поразбираться, скорее всего лучше, я думаю, сделать в AutoIT.. »
Дык, кто ж запретит… Пишите.

vombat2
11-12-2019, 15:38
1) Из памяти ничего не выгружается, она как была, так и остаётся использованной; 2) да не управляете Вы самолично сбросом страниц в файл подкачки, забудьте уже об этом. »Она становится "доступной" правильнее наверное так, а использованой разве что под ram-кэш, или, как бы это, в прошедшем времени. Картинки я привел, или может Русинович для вас не авторитет!?
Оставьте запущенными условные «танчики» и попробуйте сделать resume — увидите разницу. »Вопрос какие, йа в них не разбираюсь, может подсажете те что пожирнее, чтоб наглядно т.ск.?:)
А если у Вас будет не SSD »
Такую "возможность" также надо будет проверить, хотя б для науки

Iska
11-12-2019, 16:18
Она становится "доступной" правильнее наверное так, »
Да не становится она доступной. Память как была занятой, так и осталась. Она занята.

Картинки я привел, или может Русинович для вас не авторитет!? »
А Вас не смущает надпись Physical Memory на Ваших картинках? Я же веду речь про виртуальную память, ту, которая выделяется приложениям и самой ОС по их запросам. И пока приложение не будет завершено (или оно самостоятельно не «отдаст» её вобрат — например, мы взяли, да и закрыли 800 из 1000 вкладок браузера), эта память так и останется занятой/выделенной/использованной. Делая suspend процессам приложения, Вы просто позволяете операционной системе эффективнее сбрасывать его устаревшие страницы из физической оперативной памяти в файл подкачки — когда возникает потребность в таковой.

Вопрос какие, йа в них не разбираюсь, может подсажете те что пожирнее, чтоб наглядно т.ск.? »
Условные. Я в них тоже не разбираюсь.

vombat2
11-12-2019, 16:43
пока приложение не будет завершено (или оно самостоятельно не «отдаст» её вобрат — например, мы взяли, да и закрыли 800 из 1000 вкладок браузера) »А в чем собственно спор? Главное есть - освобождается озу практически полностью, а также процессор для работы других приложений, т.е. вычислительную мощность можно дальше использовать в полном объеме. А файл подкачки пусть себе растет ему от этого хуже не стант)
Оставьте запущенными условные «танчики» и попробуйте сделать resume — увидите разницу. »Из имеющихся на борту сейчас проверил Dirt4 вместе со всеми стимами-шмимами, спокойно "засыпает" и "просыпается" и едет дальше

Iska
11-12-2019, 17:41
А в чем собственно спор? »
1. В том, что занятая память не «освобождается», а остаётся занятой.
2. Вы не можете управлять непосредственно, чем будет занята физическая память, это прерогатива операционной системы. Вы можете лишь пытаться влиять на сие опосредованно (чем Вы и занимаетесь, делая suspend/resume ресурсоёмкому приложению). Это сродни всяческим приснопамятным «оптимизаторам» и «чистильщикам» оперативной памяти, вся суть которых заключалась в запросе у операционной системы N Mb оперативной памяти и попыткам активного вытеснения страниц памяти других приложений в файл подкачки — по факту же ничего не «освобождалось» ни на гран.

Из имеющихся на борту сейчас проверил Dirt4 вместе со всеми стимами-шмимами, спокойно "засыпает" и "просыпается" и едет дальше »
Вы не поняли меня. Ну, да ладно.

vombat2
12-12-2019, 06:08
Речь то о том, что можно быстро переключаться между разными нагружными задачами. Вот монтируете Вы допустим видео, понадобилось что-то срочное, Вы его бульк в свап и запускаете, какой-нибудь 3d-кад, ворд, ексель и т.д. Потом все это также - "бульк" и "достаете" вновь видеоредактор и продолжаете монтировать. Играет там ребенок (может быть большой "ребенок") в какой-нибудь игур и вот уже, осталось немного до окончания миссии, приходит мама и г-рит "прыгай отседа, мне надо посмотреть подсветочники, и ты вообще уже 2 часа сидишь" он все сворачивает уходит, мама перелогинивается и спокойно смотрит свои подцветоники, одноклассники и т.д. Это только частные случаи и конечно нужен SSD и как минимум средний процессор. Хотя в принципе и на слабом проце (1.4 ггц 2 core) с hdd все работает, разве что не так быстро, но для слабых процов не актуальны нагружные задачи.

vombat2
13-12-2019, 11:36
Можно ли сделать скрипт, чтобы при выходе из пользователя (смене) все его процессы ставились на "паузу" и выгружались из памяти, а при входе "размораживались"? »
Вот отчасти для этого MS и начал продвигать UWP. Правда, в контексте браузеров это только UCbrowser Кстати шустрый браузер, надо погонять на телефоне..

vombat2
13-12-2019, 12:35
Сыроват US Browser, интерфейс не внятный, не согласуется с функциональными клавишами Андроида, грузит быстро, но управление портит все впечатление.

vombat2
16-12-2019, 04:27
Пока что выяснил, как вывести все процессы пользователя в файл
chcp 1251
tasklist /FI "username eq user" >D:processes.txt
где user - имя пользователя
chcp 1251 - для вывода в удобочитаемой кодировке




© OSzone.net 2001-2012