Linux postgres共享缓冲区内存显示为私有

Linux postgres共享缓冲区内存显示为私有,linux,postgresql,memory-management,Linux,Postgresql,Memory Management,我在Linux机器上将postgres共享的缓冲区增加到7GB。这大约是这台机器上可用内存的25%,我相信这符合postgres的建议 机器上的内存耗尽。我看到的是man postgres每个进程都使用7GB驻留内存。当我运行top时,我看到机器上的内存被充分利用,所以我认为7GB是postmaster进程的私有内存 我以为共享内存应该是共享的 这是第八届博士后 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

我在Linux机器上将postgres共享的缓冲区增加到7GB。这大约是这台机器上可用内存的25%,我相信这符合postgres的建议

机器上的内存耗尽。我看到的是man postgres每个进程都使用7GB驻留内存。当我运行top时,我看到机器上的内存被充分利用,所以我认为7GB是postmaster进程的私有内存

我以为共享内存应该是共享的

这是第八届博士后

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
15872 postgres  15   0 7481m 7.2g 7.1g S 17.6 15.2  43:19.92 postgres: st stk 127.0.0.1(60729) SELECT
3467 postgres  15   0 7489m 7.2g 7.1g S 15.9 15.2  56:33.33 postgres: st stk 127.0.0.1(44351) SELECT
9484 postgres  15   0 7495m 7.2g 7.1g S 15.0 15.2 206:31.23 postgres: st stk 127.0.0.1(42126) SELECT
19090 postgres  15   0 7495m 7.2g 7.1g S 14.2 15.2 155:23.52 postgres: st stk 127.0.0.1(43897) SELECT
14857 postgres  16   0 7485m 7.2g 7.1g D 10.9 15.2  36:12.30 postgres: st stk 127.0.0.1(52229) SELECT
15862 postgres  15   0 7495m 7.2g 7.1g S 10.0 15.2 146:18.47 postgres: st stk 127.0.0.1(60728) SELECT
9485 postgres  16   0 7488m 7.2g 7.1g S  3.3 15.2 191:53.33 postgres: st stk 127.0.0.1(42127) SELECT

shared_buffers
在Linux上,当页面通过读或写操作映射到进程的地址空间时,它似乎被映射到RSS中

RAM实际上是共享的,这只是Linux如何使用RAM以及top如何显示RAM的问题