Что правильно: OSX Activity Monitor Swap Space Используется Ноль или команда Bash TOP Ноль Свободен?

627
AnneTheAgile

У меня есть несколько одинаково настроенных macs, osx / macos 10.12.3, используемых в качестве последователей Jenkins.

При рассмотрении еще одной проблемы я обратил внимание на отчет Дженкинса о состоянии оборудования, в котором утверждается, что свободного места подкачки 0 байт. Из форумов / ошибок Jenkins я узнал, что Jenkins получает эту информацию из сводной информации о команде bash top, и в командной строке показывается свободный 0 байт, см. Ниже: «Swap: 0B + 0B free».

$ top -o cpu -O +rsize -S -l1 -n 1  Processes: 373 total, 2 running, 371 sleeping, 1313 threads 2017/03/20 09:32:55 Load Avg: 1.72, 1.78, 1.71 CPU usage: 10.29% user, 25.0% sys, 64.70% idle SharedLibs: 202M resident, 44M data, 52M linkedit. MemRegions: 92722 total, 4174M resident, 149M private, 955M shared. PhysMem: 10G used (1847M wired), 6186M unused. VM: 1001G vsize, 621M framework vsize, 0(0) swapins, 0(0) swapouts. Swap: 0B + 0B free. Purgeable: 131M 67381(0) pages purged. Networks: packets: 25600359/10G in, 28183278/28G out. Disks: 24966156/317G read, 13958561/455G written.  PID COMMAND %CPU TIME ## etc 

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

enter image description here

Какой правильный?

0
[Это сообщение] (https://wiki.jenkins-ci.org/display/JENKINS/IOException+Not+enough+space) может содержать дополнительную информацию для вас. Они оба говорят одно и то же: у вас нет пространства подкачки, поэтому, несмотря на то, что в данный момент давления нет, Дженкинсу все еще может потребоваться обмен из-за требований Java. phyrfox 7 лет назад 2
@phyrfox Я не был уверен, применима ли эта информация об IOException к Mac OSX начиная с Mavericks 10.9? Именно тогда Mac переключился на сжатие памяти, и обозреватель Ars сказал, что OSX теперь очень не хочет использовать swap. Кроме того, если это применимо, кажется, нет способа изменить это. https://arstechnica.com/apple/2013/10/os-x-10-9/17/#compressed-memory AnneTheAgile 7 лет назад 0
Я не знаю, каковы «правила» для этого. Какое странное поведение вы видите? Я не видел ничего подобного в этом вопросе. phyrfox 7 лет назад 0
@phyrfox 1. Я переписал вопрос, чтобы уточнить одну вещь. Неустойчивая часть менее важна, чем верхушка гроккинга. 2. Я думаю, что я не понимаю, я думал, что потенциальное пространство подкачки может быть почти весь HD, если это необходимо? 3. Из того, что я прочитал, я не могу как пользователь / администратор OSX увеличить своп. Я ошибся? AnneTheAgile 7 лет назад 0
@phyrfox Думаю, я понял это сейчас, так что вы имеете в виду, что результат терминала, показывающий «Swap: 0B + 0B free», означает, что было запрошено ноль байтов, поэтому ясно, что есть смысл, что есть также нулевые байты. Это правильно? Я думал, что пространство подкачки всегда начинается с положительного числа, но, напротив, здесь подкачка начинается с нуля и может колебаться. Я правильно понял? AnneTheAgile 7 лет назад 0
Итак, Mac OS X использует алгоритм сжатия оперативной памяти на основе wdkm, прежде чем прибегать к обмену. Это означает, что при 16 ГБ ОЗУ можно ожидать сжатия около 8 ГБ памяти до того, как ОС перейдет к обмену, а затем динамически создавать файлы подкачки по мере необходимости; до этого момента размер свопа составляет 0B / 0B. Это означает, что вам нужно использовать около 20 ГБ, прежде чем OS X начнет использовать ваш жесткий диск, и значения подкачки будут> 0. С учетом всего сказанного, я думаю, что это на самом деле проблема JVM - вы должны указать Java использовать больше памяти. JVM по умолчанию ограничивает использование оперативной памяти для защиты от неправильного поведения кода. phyrfox 7 лет назад 0
Извините, не хватило места, попытался сделать последний комментарий разборчивым. В любом случае, они оба говорят одно и то же, не было создано никаких байт подкачки, потому что они не нужны. Обратите внимание, что графический интерфейс показывает 283 МБ «сжатой» памяти: это то, что было бы в файле подкачки в более ранних версиях Mac OS. Системный вызов подкачки не покажет этого, поэтому Дженкинс также сообщит, что 0 подкачка используется / настроена. Ваше давление памяти действительно «низкое», поэтому я считаю маловероятным, что у вас фактически недостаточно виртуальной памяти, которую вы могли бы использовать. phyrfox 7 лет назад 0

0 ответов на вопрос