Почему OS X Mavericks блокирует команду очистки в Терминале?

24

Когда я пытаюсь выполнить purgeкоманду на своем терминале, OS X Mavericks выдает мне следующее сообщение:

Unable to purge disk buffers: Operation not permitted

Это не было поведением по умолчанию до сих пор. Интересно, почему Apple изменила это. Есть ли причина этого решения? Каковы преимущества / недостатки этого?

Габриэль Изаиас
источник

Ответы:

23

Вам нужно запустить эту команду с правами суперпользователя. Пытаться:

> sudo purge

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:

Введите пароль своей учетной записи, и он должен запустить команду очистки.

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

Обычно команды, которые требуются sudoдля выполнения вообще, являются потенциально разрушительными или агрессивными. Две другие команды с этим требованием являются dtraceи xcode-select.

Ɱark Ƭ
источник
3
Я был обеспокоен приложениями, которые, по-видимому, «ускоряют работу» при использовании purge. Этот ответ помог мне понять, почему это не очень хорошая идея.
Габриэль Изаиас
1
Я не могу закрыть вопрос как дубликат на сайтах SE, поэтому я явно скопировал ваш ответ здесь . Не стесняйтесь опубликовать свою собственную копию, чтобы я мог удалить свою копию вашего ответа.
Hennes
Можете ли вы уточнить, что «Apple, вероятно, приняла решение в целях безопасности»? Как вы думаете, какие проблемы безопасности создает команда очистки?
Тиаго
1

Использование purgeкоманды может оказать серьезное негативное влияние на производительность системы (поскольку вы, по сути, говорите ядру забыть все накопленные знания о вашем недавнем использовании, просмотреть неактивный список и выбросить все, даже если какой-то процесс / драйвер собирался использовать это - и затем ошибка / воссоздать все это снова с нуля). Таким образом, имеет смысл, что для его выполнения потребуется определенный уровень привилегий.

jhfrontz
источник
1

Я не эксперт, но это может иметь какое-то отношение к сжатой памяти в OS X 10.9

Делать больше

Чем больше памяти у вашего Mac, тем быстрее он работает. Но когда у вас запущено несколько приложений, ваш Mac использует больше памяти. С OS X Mavericks Compressed Memory позволяет вашему Mac освободить пространство памяти, когда вам это нужно больше всего. Когда ваш Mac приближается к максимальной емкости памяти, OS X автоматически сжимает данные из неактивных приложений, делая больше доступной памяти

Exrta Fast

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

Источник: http://www.apple.com/osx/advanced-technologies/(не существует)

См. Также: OS X Mavericks более, чем мощный: это Power Smart (PDF)

Они , возможно , сделали это действительно избежать старой программы из interfeering с новым способом ведения дел. Но я понятия не имею.

user61659
источник
-1

'purge' не освобождает достаточно оперативной памяти. Я использую SystemPal: https://itunes.apple.com/app/systempal/id453164367?mt=12 Это работает очень хорошо!

Винс Юань
источник
2
Какие различия в поведении заставляют вас верить, что стороннее приложение из Mac App Store может очистить больше памяти, чем инструмент от Apple, включенный в OS X?
Грэм Милн
1
Или что любое приложение / случайный пользователь может принимать лучшие решения по управлению памятью, чем ядро?
Jhfrontz
-5

http://computers.tutsplus.com/tutorials/how-to-give-your-mac-a-performance-boost--mac-46271

Создание скрипта терминала для очистки памяти

  1. Начните с открытия Терминала.

  2. Введите следующую строку:

    cd Desktop/

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

  3. Войти:

    touch Purge

    и нажмите ввод. Это создаст новый файл под названием «Очистка» на рабочем столе, но пока вы его не увидите.

  4. Войти:

    pico Purge

    и нажмите ввод. Это открывает редактор терминала для файла очистки.

  5. Введите следующий текст в редакторе:

    #!/bin/sh
    
    purge
  6. Нажмите Control + O и затем Enter, чтобы сохранить файл на рабочем столе. Затем нажмите Control + X, чтобы выйти из редактора. Убедитесь, что вы используете клавишу управления, а не командную клавишу.

  7. Вернувшись к обычному окну терминала, введите:

    chmod 755 Purge

    и нажмите ввод. Это делает файл, который мы только что создали, доступным для вас. По умолчанию OS X скрывает файлы, которые вы создаете с помощью касания.

  8. Теперь на вашем рабочем столе будет файл «Очистка». Вы можете открыть этот файл для автоматической очистки памяти вашего компьютера. Когда Терминал отобразит сообщение [Процесс завершен], вы можете закрыть приложение и продолжить работу.

Шаши Кумар
источник
Это не решает проблему, описанную в вопросе. Также, пожалуйста, исправьте форматирование вашего поста.
Nohillside
1
Всегда источник скопированного контента (cc @patrix).
grg