相关疑难解决方法(0)

正确确定 Linux 中的内存使用情况

我对从psfree看到的一些结果感到有些困惑。

在我的服务器上,这是结果 free -m

[root@server ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          2048       2033         14          0         73       1398
-/+ buffers/cache:        561       1486
Swap:         2047         11       2036
Run Code Online (Sandbox Code Playgroud)

我对 Linux 如何管理内存的理解是,它将磁盘使用情况存储在 RAM 中,以便每次后续访问都更快。我相信这是由“缓存”列指示的。此外,各种缓冲区存储在 RAM 中,如“缓冲区”列所示。

因此,如果我理解正确,“实际”用法应该是“-/+ 缓冲区/缓存”的“已使用”值,在这种情况下为 561。

所以假设所有这些都是正确的,抛出我的部分是ps aux.

我对ps结果的理解是,第 6 列 (RSS) 表示进程用于内存的大小(以千字节为单位)。

所以当我运行这个命令时:

[root@server ~]# ps aux | awk '{sum+=$6} END {print sum / 1024}'
1475.52
Run Code Online (Sandbox Code Playgroud)

结果不应该是“-/+ 缓冲区/缓存”的“已使用”列free -m吗?

那么,如何在 Linux 中正确确定进程的内存使用情况?显然我的逻辑有问题。

linux memory

75
推荐指数
6
解决办法
16万
查看次数

标签 统计

linux ×1

memory ×1