Это потому, что htop
подсчитывает буферы и кэшированную память как свободную память, потому что ее можно увидеть в этом пути.
Нет никакой «стоимости» в том, что некоторые кэшированные данные в памяти, так что ядро хранит вещи там на тот случай, если это потребуется впоследствии.
Например, предположим, что вы посмотрели видео размером около 500 Мб, после того как вы закроете видео, ядро может решить сохранить его в памяти вместо уборки этой части, просто если вам понадобится это видео снова, так что ему не нужно снова загружать его с вашего медленного жесткого диска. Но этот 500 Мб можно считать свободным, потому что как только вам понадобится память для чего-то другого, ядро сможет использовать эту память сразу.
Это не тот случай, когда эта память используется запущенной программой, потому что эта программа использует эту память прямо сейчас.
Если вы вычтете из используемой памяти
значения буферов
и кэшированных
, вы получите значение, отображаемое htop
.
Теперь об этом проценте вы сказали, это зависит от того, как вы суммируете.
-121--61130- Другой альтернативой является команда vim
, которая работает одинаково путь в zsh
и bash
. На моем mac:
LOLcalhost :: ~ % command which grep
/usr/local/bin/grep
-121--5136- Множество ответов говорят, что в большинстве случаев программное обеспечение распространяется в скомпилированном формате. Я согласен с этим предположением. Тем не менее я вижу случай, когда распространять программное обеспечение по его источнику лучше, чем распространять его в скомпилированном формате.
Я не уверен, что это правда, но я представляю себе в начале интернета, потому что сетевой бандит был плохим, иногда было бы быстрее распространять программное обеспечение по его источнику, чем в скомпилированном формате. Поскольку источником кода является только обычный текст, он часто меньше программного обеспечения в скомпилированном формате. Таким образом, распространение программного обеспечения с кодом источника кажется лучшим способом, чтобы поделиться им, при условии, что пользователи могут компилировать его.
Для этого используйте базовые права доступа к файлам или ACL.
Например, в разрешениях есть раздел group
и команда newgrp
для переключения основной группы. Также рассмотрите бит SGID
, используя, например. nobody
как владелец.
Не уверен, доступен ли ACL в OSX, но полагаю, что он есть. Просто используйте setfacl
, чтобы разрешить user|group
доступ и запись в файл журнала.
Обычно /var/log/
следует использовать для файлов журналов. Например. настройте папку в /var/log/yourscripname
с соответствующими разрешениями.