linux 内存

linux 查看内存

1
2
3
4
5
6
7
8
9
top
free -h
# 内存的更具体的使用情况
cat /proc/meminfo

dmidecode -t memory

dmidecode |grep -A16 "Memory Device$"

进程内存占用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
top
ps aux | grep containerd
  
ps -o pid,user,%mem,rss,vsz,comm -C containerd
  
pmap PID

#ps
  
ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 其中rsz是是实际内存
ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle | sort -nrk5

其中rsz为实际内存,上例实现按内存排序,由大到小
sudo pacman -S htop  # Arch Linux
htop

# 实时查看 containerd 服务的资源占用
systemd-cgtop

# 只看 containerd 相关的
systemd-cgtop | grep containerd
yay -S smem
sudo smem -t -k -c "pid user command rss pss uss" | grep containerd

内存映射

1
2
    cat /proc/PID/maps
    cat /proc/PID/smaps

free> total 跟物理内存不一致

系统启动时会初始化相关设备,该过程会占用内存,内核启动时,也会占用一部分的内存。

http://www.cnblogs.com/gaojun/p/3406096.html