我的空闲系统(64 位 Ubuntu GNOME 15.10)在重启后使用了大约 2.5 GB 的 RAM,也就是说,我没有启动任何正在运行的程序。我安装的所有应用程序都不会在启动时启动。我可以安全地终止哪些系统进程或分配更少的内存,以便节省 8 GB 内存中的大约 7 GB R
?
答案1
重启后立即启动终端并发出命令
free -m
然后查看第二行的值(-/+ 缓冲区/缓存:)。在第二列(已用)下,您将看到系统的实际 RAM 消耗。
答案2
您可能会发现大多数正在使用的内存都在缓冲区缓存中。Linux 的默认配置是在内存可用时将文件数据缓存在内存中。当内存压力增加(即更多应用程序需要内存)时,如果缓存中的数据不是脏的,则按顺序丢弃缓存中的数据;如果缓存中的数据是脏的,则将其刷新(写入)到磁盘。
计算应用程序正在使用的剩余内存有点棘手,因为应用程序在使用共享库和共享内存映射时会共享内存。您可以使用“smemstat”等工具查看进程正在使用的内存量:
sudo apt-get install smemstat
smemstat
USS 列报告唯一集大小(非共享内存),PSS 列报告比例集大小(共享内存比例),RSS 列报告每个进程使用的驻留集大小(非交换物理内存)。
/proc/meminfo 文件还可用于查看内存的利用情况,使用:
cat /proc/meminfo
有关所有字段的信息,请参阅有关 /proc 接口的 Linux 内核文档。
如果您的应用程序需要大量内存,内核将从其他进程中调出或删除未使用的页面,因此您可能不需要终止进程来为您的应用程序提供所需的内存。只要您有足够的物理内存可供应用程序 + 内核 + 其他正在运行的进程的活动页面使用,您就应该看到系统运行而没有太多的交换活动。您可以使用 vmstat 等工具查看交换入 (si) 和交换出 (so) 活动以仔细检查这一点:
vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 45324 54252 147664 2897152 1 1 71 82 27 134 9 2 89 0 0
3 0 45324 49924 147664 2902744 0 0 108 0 1570 7570 29 2 69 0 0