Причина состоит в том, потому что Linux имеет что-то позвонившее proc файловая система.
proc
смонтирован на /proc
и представляет в структурах данных ядра. Один такой объект /proc/kcore
который является двухуровневым изображением ядра памяти ядра. Т.е. вся память, используемая в системе включая виртуальную память.
Вот пример на моей рабочей станции:
$ cat /proc/meminfo | grep MemTotal
MemTotal: 3507728 kB
$ ls -lh /proc/kcore
-r-------- 1 root root 128T 2012-09-21 17:24 /proc/kcore
Поскольку Вы видите, что у меня только есть 4 ГБ RAM. В то время как /proc/kcore
огромные 128 ТБ! Это - значительно больше (приблизительно в 32,000 раз больше) память, чем я имею.
Если я понимаю правильно, Вы хотите что-то как измеритель уровня громкости - как этот, который использует arecord
отобразить текущий объем.
Другая опция могла бы проверять ли утилиты tha PulseAudio комплекта (т.е. pactl
, pacat
и т.д.), мог предложить что-то полезное - хотя от моего мелкого понимания оно, вероятно, не делает.
Это зависит от того, какие драйверы вы используете. Если это ALLSA - вы можете использовать «alsamixer». Это панель управления устройств ALSA с интерфейсом NCURSES. Чтобы переключить вкладку на этой панели, вы можете использовать клавишу «вкладку».
Другим вариантом может быть «звукомер», сценарий Python, который сообщает средние значения громкости в командной строке. Подробности здесь:https://pypi.org/project/soundmeter/