Получение результатов поиска для оболочки Bourne

Ответ зависит от того, сколько памяти доступно вашему серверу при запуске ядра. При использовании раздувания памяти это основано на максимуме, до которого он может раздуваться.

Для ядра Linux 4.15:

  • При 4 ГБ ОЗУ резервируется 4,8%
  • 8 ГБ оперативной памяти :3,2%
  • 16 ГБ ОЗУ :2,3%
  • 32 ГБ оперативной памяти :1,9%
  • 64 ГБ ОЗУ :1,7%

So why is there so much more kernel memory on the 16gb machine?

Относительно нет. Предполагая, что ваше число было правильным, вы видите, что 8,6% зарезервировано для 512 МБ и всего 2,3% для 16 ГБ.

Почему эти пропорции выбраны в ядре, я не знаю -от руки, но вы можете увидеть разрыв -в dmesg:

[    0.000000] Memory: 65920612K/67108324K available (12300K kernel code, 2473K rwdata, 4272K rodata, 2408K init, 2416K bss, 1187712K reserved, 0K cma-reserved)
4
22.05.2021, 12:38
4 ответа

Вот кое-что, что я бы сказал, лучший способ справиться с этим:

здравый смысл

Теперь, хотя это может показаться очевидным или грубым, вы можете спросить: «Какой здравый смысл?»:

  • bashиногда символически ссылается на shв некоторых дистрибутивах
  • shиногда является символической ссылкой наash(busybox)
  • bashскрипт обычно работает нормально (за исключением некоторых синтаксисов )в shи наоборот (то же самое дляash-sh)
  • Попробуйте их. (буквально, так как, вероятно, не будет очевидно, есть ли ошибки в любом фрагменте, если вы не используете shellcheckили не имеете больше опыта)
  • Попробуйте другую комбинацию ключевых слов (это очевидно, но сложнее объяснить в деталях, не увеличивая пост)
  • Попробуйте другую поисковую систему (большинство из них дают похожие результаты, но не всегда, если вообще точные одинаковые результаты с теми же ключевыми словами)

Вышеописанное можно применить/расширить и для других оболочек. Просто не стесняйтесь tryлюбой фрагмент/код, который вы найдете (Я нахожу -xили set -xдля отладки и shellcheckдля полезной помощи при этом ).

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

Дополнительные ресурсы:

Попытка — это часть обучения. Удачи!

3
28.07.2021, 11:30

Скорее всего, вас интересует не историческая оболочка Bourne (, которая обычно недоступна в большинстве современных систем UNIX ), а оболочки, реализующие текущую спецификацию POSIX для shоболочка.

См. также:

  • Принятый в настоящее время ответ на вопрос U&L Что значит быть «совместимым с sh»? очень подробно описывает историю и «родословную» оболочек Unix.

  • Команда man shв системе, с которой вы работаете, покажет вам руководство для оболочки shв этой системе. Это будет оболочка, реализующая синтаксис и грамматику POSIX, возможно, путем изменения того, как оболочка будет нормально вести себя при вызове с использованием собственного имени (, например bashи zshпри вызове как sh, например ).

10
28.07.2021, 11:30

По моему опыту, если вам нужна помощь в том, как сделать то или иное вещь, используя вашу оболочку #!/bin/sh, вы можете добавить свой запрос Google одним из следующих:

  • POSIX-это приведет вас к обсуждению реализации данного функция в POSIX -совместимых оболочках или в POSIX -совместимом виде в оболочки, которые реализуют больше функций, не требуемых POSIX например Баш. (обычно вы оказываетесь вhttps://unix.stackexchange.com)

  • тире-тире — это /bin/sh Ubuntu, самый популярный рабочий стол дистрибутив Линукс. Он используется cron и другими инструментами, которые запускают команды. при использовании /bin/sh было задано так много вопросов и на них были даны ответы

  • busybox-busybox поставляется со своей собственной оболочкой, которая не такая большая, как Bash или ZSH, поэтому, если что-то работает в оболочке busybox, оно также должно работайте с вашим местным минималистом /bin/sh, что бы это ни было.

5
28.07.2021, 11:30

Из распространенных дистрибутивов Linux я думаю, что большинство (например. CentOS и Arch )используют Bash как /bin/sh. Основное исключение составляют Debian и Ubuntu (и их производные ), которые используют Dash. Ubuntu также имеет полезную вики-страницу, на которой указаны наиболее распространенные «башизмы» :https://wiki.ubuntu.com/DashAsBinSh

.

Обратите внимание, что исходная оболочка Bourne немного отличается от оболочки POSIX, которая, например. Даш реализует. Вы не найдете это в системах Linux без явного поиска, например. Семейная реликвия .

3
28.07.2021, 11:30

Теги

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