Хотя ответа Стивена вполне достаточно и он ошибается в плане осторожности, я решил написать полную логику, включая минимальные сравнения. Информация сначала считывается из / proc / meminfo и сохраняется в переменной, чтобы детали памяти были согласованы.
LOW_WATERMARK=$(awk '$1 == "low" {LOW_WATERMARK += $2} END {print LOW_WATERMARK * 4096}' /proc/zoneinfo)
MEMINFO=$(</proc/meminfo)
MEMINFO_MEMFREE=$(echo "${MEMINFO}" | awk '$1 == "MemFree:" {print $2 * 1024}')
MEMINFO_FILE=$(echo "${MEMINFO}" | awk '{MEMINFO[$1]=$2} END {print (MEMINFO["Active(file):"] + MEMINFO["Inactive(file):"]) * 1024}')
MEMINFO_SRECLAIMABLE=$(echo "${MEMINFO}" | awk '$1 == "SReclaimable:" {print $2 * 1024}')
MEMINFO_MEMAVAILABLE=$((
MEMINFO_MEMFREE - LOW_WATERMARK
+ MEMINFO_FILE - ((MEMINFO_FILE/2) < LOW_WATERMARK ? (MEMINFO_FILE/2) : LOW_WATERMARK)
+ MEMINFO_SRECLAIMABLE - ((MEMINFO_SRECLAIMABLE/2) < LOW_WATERMARK ? (MEMINFO_SRECLAIMABLE/2) : LOW_WATERMARK)
))
if [[ "${MEMINFO_MEMAVAILABLE}" -le 0 ]]
then
MEMINFO_MEMAVAILABLE=0
fi
Результат, сохраненный в переменной, выражен в байтах.
Внешние звуковые карты USB, предназначенные для геймеров, работали так же хорошо, как и все другие более профессиональные / аудиофильские интерфейсы и звуковые карты, когда я их тестировал. Если он обязательно должен быть от Creative или Asus, то это должен быть USB. Таким образом, вам придется иметь дело только с USB Audio Class, который находится в хорошем состоянии в Linux и других операционных системах *, а не с любыми неисправными драйверами или функциями, которыми внутренние игровые звуковые карты стали известны с 2000-х годов. Уже много лет внутренняя (игровая) звуковая карта не приносит пользы. Я надеюсь, что это сообщение, наконец, достигнет оставшихся немногих пользователей, которые все еще думают, что им нужно иметь такое устройство на своем компьютере из-за превосходства компании и продукта (и иметь возможность запускать ОС Linux / не Windows ).
* За исключением аудиоустройств USB, которые для правильной работы должны загружаться хостом с прошивкой каждый раз, когда они подключаются.
Поддержка наконец-то добавлена в ядро 4.18, но я не уверен, что все функции работают.
В настоящее время я использую Sound Blaster Zx в Debian 10 с ядром 4.19. Для работы карты требуется не -бесплатная прошивка от firmware-misc-nonfree
.
Я использую наушники и стереодинамики. Автоматическое переключение между ними не работает, поэтому приходится переключаться вручную с помощью alsamixer
.
Многие другие функции я еще не пробовал.