Как заставить $((5/2)) выводить число с плавающей точкой? [duplicate]

Базовым ядром является файл vmlinuz в папке / boot . Буква «z» означает «сжато с помощью библиотеки z». К сожалению, я не знаю, как его распаковать, чтобы увидеть размер в несжатом виде.

Также, как упоминалось в @type_outcast, ядро ​​использует модули для доступа к оборудованию и обработки некоторых других функций. Они находятся в папке / lib / modules / . Вы можете определить, какие модули загружены, используя lsmod . Этот список включает столбец Размер с размером каждого модуля.

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

Также у вас есть файл памяти. Попробуйте cat / proc / meminfo . Это даст вам два дополнительных параметра: KernelStack и Buffers .

Кроме того, вы можете получать информацию от различных процессов, таких как процесс 1. Это процесс инициализации, и его можно рассматривать как часть ядра. Его информацию можно найти в / proc / 1 . Использование памяти показывает несколько чисел, которые объяснены ниже . Вы можете найти список таких низкоуровневых процессов, используя ps -ef | less и глядя на столбец CMD . Вещи, заключенные в скобки «[... имя ...]», на самом деле являются записями низкого уровня (записи, относящиеся к модулям, на самом деле это могут быть задачи, созданные модулями, но я не знаю наверняка об этом)

me $ cat /proc/1
46511 1381 790 348 0 37483 0

Обратите внимание, что эти числа измеряются на страницах . В большинстве случаев это означает, что вы хотите умножить число на 4096, чтобы получить размер в байтах.

   /proc/[pid]/statm
          Provides information about memory usage, measured in pages.
          The columns are:

              size       (1) total program size
                         (same as VmSize in /proc/[pid]/status)
              resident   (2) resident set size
                         (same as VmRSS in /proc/[pid]/status)
              shared     (3) number of resident shared pages (i.e., backed by a file)
                         (same as RssFile+RssShmem in /proc/[pid]/status)
              text       (4) text (code)
              lib        (5) library (unused since Linux 2.6; always 0)
              data       (6) data + stack
              dt         (7) dirty pages (unused since Linux 2.6; always 0)

Если вас интересуют другие процессы, все данные будут доступны в папке / proc .

2
20.05.2017, 13:54
1 ответ

Вы не можете. Bash будет работать только с целыми числами. Для большей точности используйте что-то вроде bc.

2
27.01.2020, 22:10

Теги

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