Использование памяти на Windows Server

Вот некоторый быстрый-и-грязный жемчуг, чтобы сделать то, что Вы хотите:

#!/usr/bin/perl

open(I, "<$ARGV[0]") || die "Can't open $ARGV[0]: $!\n";

while (1) {
  my $count = 0;
  while (<I>) { $count++; }
  print scalar(localtime()), ": $count lines\n";
  sleep(3);
  seek(I, 0, 1); # clear the EOF on I
}

close(I);

Вот вывод его работающий в одном окне:

[root@g3 tmp]# perl tt.pl FILE
Thu Dec  9 13:18:38 2010: 0 lines
Thu Dec  9 13:18:41 2010: 0 lines
Thu Dec  9 13:18:44 2010: 0 lines
Thu Dec  9 13:18:47 2010: 0 lines
Thu Dec  9 13:18:50 2010: 0 lines
Thu Dec  9 13:18:53 2010: 1 lines
Thu Dec  9 13:18:56 2010: 0 lines
Thu Dec  9 13:18:59 2010: 1 lines
Thu Dec  9 13:19:02 2010: 0 lines
Thu Dec  9 13:19:05 2010: 0 lines
Thu Dec  9 13:19:08 2010: 0 lines
Thu Dec  9 13:19:11 2010: 0 lines
Thu Dec  9 13:19:14 2010: 0 lines
Thu Dec  9 13:19:17 2010: 0 lines
Thu Dec  9 13:19:20 2010: 100 lines

И вот команды, которые я выполнил в другом окне для генерации вывода выше:

[root@g3 ~]# cd /tmp
[root@g3 tmp]# echo foo > FILE
[root@g3 tmp]# echo foo >> FILE
[root@g3 tmp]# for i in `seq 1 100`
> do
> echo $i >> FILE
> done
[root@g3 tmp]# 

Надежда, которая помогает...

3
задан 17 May 2013 в 00:00
1 ответ

Управление памятью - уже сложная тема, и, к сожалению, Microsoft изменила свои точные определения и термины, касающиеся различных типов памяти, практически с каждым выпуском Windows. Так что поверьте мне, это смущает не только вас.

Когда вы используете список задач, список задач показывает вам Рабочий набор , который назначен каждому процессу. Рабочий набор - это недавно использованные физические страницы ОЗУ, назначенные процессу, и который не учитывает всю виртуальную память, которую процесс может использовать (в некотором смысле , процессы используют только виртуальную память, поскольку физическая память абстрагируется в более крупный пул виртуальной памяти и объединяется с другими источниками виртуальной памяти, такими как файл подкачки.) Также не учитывается кеширование файлов и т. д.

В вашей системе никогда не должно быть много "свободной" памяти. Это потраченная впустую RAM, которая буквально ничего не делает. Когда нет процессов, которым требуется дополнительная память, Windows использует свободную память для кэширования файлов, пока свободная память не вернется к нулю или близка к нулю.

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

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

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

Наконец, я настоятельно рекомендую вам посмотреть этот двухсерийный видеоролик: http://channel9.msdn.com/Events/TechEd/NorthAmerica / 2011 / WCL405

8
ответ дан 3 December 2019 в 05:05

Теги

Похожие вопросы