Linux memory: Difference between revisions

From DWIKI
Line 54: Line 54:
==ZFS and arc==
==ZFS and arc==
*[https://superuser.com/questions/1137416/how-can-i-determine-the-current-size-of-the-arc-in-zfs-and-how-does-the-arc-rel Determine arc usage]
*[https://superuser.com/questions/1137416/how-can-i-determine-the-current-size-of-the-arc-in-zfs-and-how-does-the-arc-rel Determine arc usage]
===Changing arc sizes in runtime===
#in bytes
echo 1024 > /sys/module/zfs/parameters/zfs_arc_min
echo 2048 > /sys/module/zfs/parameters/zfs_arc_max
===Changing arc sizes in systctl===
In /etc/systctld.d/zfs.conf:
options zfs zfs_arc_max=4294967296
options zfs zfs_arc_min=1073741824


= FAQ =
= FAQ =

Revision as of 14:33, 22 May 2023


Links

Documentation

man 5 proc

see /proc/meminfo

total

Is MemTotal in /proc/meminfo

Total usable ram (i.e. physical ram minus a few reserved bits and the kernel binary code)

used

total - free - buffers - cache

unused

MemFree

RSS

Resident Set Size

RSS and VSZ in Linux memory management

"memory is allocated to that process and is in RAM. It does not include memory that is swapped out. It does include memory from shared libraries as long as the pages from those libraries are actually in memory. It does include all stack and heap memory."

VSZ / VmSize

Virtual Memory Size It includes all memory that the process can access, including memory that is swapped out, memory that is allocated, but not used, and memory that is from shared libraries.


ZFS and arc

Changing arc sizes in runtime

#in bytes
echo 1024 > /sys/module/zfs/parameters/zfs_arc_min
echo 2048 > /sys/module/zfs/parameters/zfs_arc_max

Changing arc sizes in systctl

In /etc/systctld.d/zfs.conf:

options zfs zfs_arc_max=4294967296
options zfs zfs_arc_min=1073741824

FAQ

What is using all my memory?

smem -r -s swap| head -n3


What is using all my swap?

https://www.cyberciti.biz/faq/linux-which-process-is-using-swap/

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less

or to just list top 3

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | head -n 3

Clear buffer/cache

sync; echo 3 > /proc/sys/vm/drop_caches