First, DMESG после загрузки содержит это сообщение: память: 4823004K /5969684K Доступно (19966K Kernel Code, 2568K RWDATA, 6716K Rodata, 4096K init, 32910 BSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS, 936. 212992K CMA-RESERVED) . Над этим сообщением он сообщает о узлах в DTS, которые резервируют память (пулы CMA и пулы DMA). Кроме того, 5969684K - это ни 6 GIB, ни 6 физических GB. Я считаю, что оставшиеся ~ 315 МБ используются прошивкой/Android -загрузчиком и не могут быть изменены.
Next,/proc/meminfo содержит: Memtotal: 5766980 KB . Здесь я заметил, что Memtotal находится между двумя числами из первоначального отчета DMESG. Delta между Total Kernel Managed Memory и Memtotal не соответствует ни одного из размеров оговорки, упомянутых в DMESG до сих пор. Я также искал «освобождение» ключевого слова. Вот больше строк: < /p>
Код: Выделить всё
[ 0.168104] [7: swapper/0: 1] Freeing rdx_bootdev memory: 177152K
[ 0.360571] [5: swapper/0: 1] Freeing initrd memory: 872K
[ 2.495067] [1: kworker/1:0: 19] Freeing unused kernel memory: 4096K
Что -то, что я мог бы пропустить? Это связано с конкретной прошивкой Android+поставщика? В общей сложности это приводит только к 5,5 ГБ, а затем ~ 0,5 ГБ неразрешимых кеша и плит, поэтому для других программ осталось только 5 ГБ, которые также включают общий VRAM. Иногда мне просто нужны дополнительные 100-200 МБ, чтобы предотвратить общее замораживание системы или убийство активного процесса в интенсивной задаче. Устройство SM-G780G или R8Q, разблокированное, рутировано.
Подробнее здесь: https://stackoverflow.com/questions/797 ... oc-meminfo