Подсказка “-bash-3.2$” по сравнению с “Ударом 3,2$” в SunOS 5.10

Необходимо читать dmesg значения "Память Akb/Bkb, доступный" как:

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

Это от arch/x86/mm/init_64.c:

printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, "
                 "%ldk absent, %ldk reserved, %ldk data, %ldk init)\n",
                 nr_free_pages() << (PAGE_SHIFT-10),
                 max_pfn << (PAGE_SHIFT-10),
                 codesize >> 10,
                 absent_pages << (PAGE_SHIFT-10),
                 reservedpages << (PAGE_SHIFT-10),
                 datasize >> 10,
                 initsize >> 10);

nr_free_pages() возвращает объем физической памяти, управляемой ядром, которое не используется в настоящее время. max_pfn самое большое количество страничного блока ( PAGE_SHIFT сдвиг преобразовывает это в Кбит). Самое большое количество страничного блока может быть (намного) выше, чем, что Вы могли ожидать - размещение в ОЗУ, сделанное BIOS, может содержать дыры.
То, сколько поднимают эти дыры, прослежено absent_pages переменная, отображенная как kB absent. Это должно объяснить большую часть различия между вторым числом в "доступном" выводе и Вашей фактической, установленной RAM.

Вы можете grep для BIOS-e820 в dmesg "видеть" эти дыры. Карта распределения памяти отображена там (прямо наверху dmesg вывод после начальной загрузки). Необходимо смочь видеть, в каких физических адресах у Вас есть реальная, применимая RAM.
(Другие x86 причуды и зарезервированные области памяти, вероятно, составляют остальных - я не знаю детали там.)

MemTotal в /proc/meminfo указывает на RAM, доступную для использования. Прямо в конце последовательности начальной загрузки, ядро освобождает init данные этому больше не нужно, таким образом, значение, в котором сообщают /proc/meminfo могло быть немного выше, чем, что ядро распечатывает во время начальных частей последовательности начальной загрузки.

(meminfo использование косвенно totalram_pages для того дисплея. Для x86_64 это вычисляется в arch/x86/mm/init_64.c также через free_all_bootmem() который самостоятельно находится в mm/bootmem.c для ядер не-NUMA.)

3
27.01.2013, 22:36
2 ответа

Значение по умолчанию PS1 под ударом \s-\v\$

  • \s заменяется под названием Ваша оболочка (0$)
  • \v версия удара

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

PS1 остается как это в Вашем случае, потому что ни один из сценариев, полученных при запуске, не переопределяет его.

Нет никакой импликации об этих подсказках.

Между прочим, эта ОС чаще всего упоминается как "Солярис 10", чем "SunOS 5.10".

4
27.01.2020, 21:17
  • 1
    Heh, забавная вещь - это uname будет фактическое шоу SunOS, а не Sparc, даже если / и т.д. / *release будет иметь OpenSolaris :-) –  njsg 27.01.2013, 23:13
  • 2
    @njsg SunOS, а не SPARC??? –  jlliagre 27.01.2013, 23:14
  • 3
    s/Sparc/Solaris/. Вздох. –  njsg 27.01.2013, 23:20
  • 4
    @njsg Это - ожидаемое поведение. В Вашем случае SunOS 5.11 ядро, в то время как (Открытым) Солярисом является целая ОС. Точно так же, как говорят, что Linux 2.6.32-46 является ядром, и Debian 6.0.6 является распределением с помощью него. большое спасибо –  jlliagre 27.01.2013, 23:25

Руководство удара объясняет это в разделе Invoking Bash:

Оболочка входа в систему является той, чей первый символ нуля аргумента является ‘-’или одним вызванным с --login опция.

Оболочки входа в систему вызывают различные файлы запуска.

1
27.01.2020, 21:17
  • 1
    Да, это может быть тем, что вызывает поведение, но на самом деле не прося у OP содержание этих init файлов или запустить удар с --login, Вы не можете действительно сказать, что это - ответ. –  njsg 27.01.2013, 22:58
  • 2
    @njsg, Что говорит Glen, является этим login(1 м) запускает оболочку входа в систему путем предварительного ожидания argv[0] с "-". Это - стандартный способ запустить оболочку входа в систему (--login не). Это объясняет, почему название оболочки, как сообщается PS1 запускается с "-". –  Stéphane Chazelas 28.01.2013, 00:59
  • 3
    Да, возможно, он должен включать часть, где он объясняет, как это влияет на оболочку с этими значениями PS1, которые были упомянуты выше. –  njsg 28.01.2013, 01:05
  • 4
    Я не мог найти ссылку в своем входе в систему человечности (1) страница справочника. –  glenn jackman 28.01.2013, 01:38

Теги

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