Есть приложение, которое я запускаю в Windows 7, которое может занимать слишком много ресурсов графического интерфейса (или файловых дескрипторов, или ресурсов TCP/IP), и иногда оно перестает отвечать на запросы в течение 30 секунд. В диспетчере задач видно, что около 2 ГБ ОЗУ "кэшируется", то есть используется как дисковый кэш. Есть ли способ заставить компьютер использовать меньше оперативной памяти в качестве дискового кеша и в то же время выделять больше памяти для любых других ресурсов графического интерфейса, файловых дескрипторов, сокетов TCP/IP и любых других возможных ресурсов, особенно если на компьютере больше RAM, иногда даже 16GB в наше время. Я помню, что в какой-то момент можно было настроить компьютер больше для задач "рабочего стола", чем для задач "сервера". Так что я думаю, что это цифры, которые можно настроить.

1 ответ1

1

Вы, кажется, неправильно понимаете некоторые вещи.

Есть ли способ заставить компьютер использовать меньше оперативной памяти в качестве дискового кеша и в то же время выделять больше памяти для любых других ресурсов графического интерфейса, файловых дескрипторов, сокетов TCP/IP и любых других возможных ресурсов, особенно если на компьютере больше RAM, иногда даже 16GB в наше время.

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

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

Я помню, что в какой-то момент можно было настроить компьютер больше для задач "рабочего стола", чем для задач "сервера".

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

Сказав это, никто на вашем "настольном" компьютере не мешает вам убивать процессы, которые вы не хотите запускать, чтобы больше процессорного времени / памяти было доступно другим запущенным процессам.

Так что я думаю, что это цифры, которые можно настроить.

Я могу ошибаться, но, видя, как это делается ядром операционной системы, я не думаю, что оно способно к настройке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .