Подключение файла подкачки (SWAP) в MAC OS X при использовании внешнего SSD-диска в качестве системного

в 19:24, , рубрики: OS X, ssd диск, swap, Разработка под MacOS

Доброго времени суток, дорогие товарищи!

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

Как-то раз, мне пришлось призадуматься над одной небольшой задачкой. Есть компьютер iMac, есть успешно установленная OS X Sierra на внешний, подключенный через USB SSD-диск, и есть странное, удивительное, и при этом — полное, отсутствие файла подкачки.

Не буду здесь вдаваться в подробности мониторинга, определения, и подтверждения этого факта, чтобы не тратить драгоценное время читателей. В нашей, российской «пустыне», бессмысленно искать что-либо по этому поводу. Ибо на текущий момент — просто нет ничего вразумительного. Англоязычный сектор интернета при этом — также, не порадовал ничем существенным.

Время шло. Проблема стояла, как «немой укор». И вдруг, неожиданно, примерно в начале октября, вышло обновление OS X, которое называется «Mojave». Надежда, как говорится, умирает последней. Не один я «плакался» на просторах интернета, как бестолкова и инертна техподдержка Mac OS X. И, свой печальный опыт звонка «прямо туда», я решил более никогда не повторять в целях экономии собственного времени. Как и стОило ожидать, Mojave не только не исправила проблему с постоянным отваливанием после пробуждения из сна клавиатуры и мыши, но, также и ничего не решила с файлом подкачки или хотя бы добавлением возможностью управлением этой очень важной, на мой взгляд, функцией.

Вышло так, что мне пришлось делать копию больших, но при этом безобразно мелких данных, с удаленного сервера в свое локальное хранилище по протоколу SSH. Я использовал для этих целей достаточно известный продукт, который назыается Cyberduck. Все в нем хорошо и прекрасно. Кроме того, что при работе с большим количеством мелких файлов, он, вероятно, для контроля ошибок передачи, ведет свой собственный, временный лог, который, скорее всего, наращивается во временных файлах (или кэше системы) и, достигает размеров, сопоставимых с размерами загружаемых данных. Что разумеется, тут же отражается на производительности системы. И «живет» этот лог, при этом, не где-нибудь — а непосредственно в оперативной памяти. В моей системе оперативной памяти — 8 Гб. Но в работе с системой я вижу постоянно занятыми порядка 6-7 Гб. Некоторые люди в нашей «пустыне» об этом странном событии сообщают так: (прочитал где-то на форумах) "«Политика компании Apple такова: „Вы купили много оперативной памяти, и заплатили за это много денег. Так почему эта оперативная память не должна использоваться полностью“ ???» То есть, когда я оставил на ночь процесс копирования этих самых мелких данных, и пришел наутро посмотреть «а как оно там?», я сразу понял, что что-то — не так. После двух-трех движений мышью и клавиатурой система встала колом.

Уверен, что очень многих людей удивляет в принципе, как это вообще возможно — полная остановка OS X. Но когда не хватает оперативной памяти — очень даже. При этом, система до сих пор (!!!) никак не предупреждает пользователя, что у него проблемы со свободной оперативной памятью, и эти все дела, просто могут привести к полному краху.

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


конец преамбулы


После долгих мучений получилось наконец написать одной строкой команду монтирования того диска, который помечен OS X как несмонтированный, и как выделенный системой под нужды использования виртуальной памяти (VM).

Большей частью благодаря одному ответу на Тостере. И еще сотней прочитанных страниц форумов и блогов в интернете.

sudo diskutil mount -mountPoint /private/var/vm `diskutil ap list | grep VM | awk -F ' '  '/d/ {print $5}'`

Прошу обратить Ваше внимание на обратные кавычки ограничивающие собственно фильтр после сцепки нескольких команд, которые своим выводом просто определяют аргумент команды монтирования — именно то имя (номер) диска, который в наборе с другими, помечен как VM. В настоящий момент, то, что вижу я — это disk4s4. Но, когда к моноблоку подключен второй или еще и третий внешний диск — то имя диска помеченного как VM может быть запросто и таким: disk5s4, и таким: disk6s4. Еще один момент. Между простыми вертикальными кавычками во фрагменте «awk -F ' ' » — (сразу после буквы F две кавычки) — присутствует пробел. То есть, еще раз, — между одиночными кавычками после F — ПРОБЕЛ (!). Но, это, на всякий случай. Опытные бобры сразу же найдут выход их хаты. :-)

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

diskutil ap list

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

Если у кого-то со сходной проблемой — «не взлетает» — ну что же — давайте попробуем обсудить это…

Автор: greysonedeer

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js