大量 RAM 缺失

大量 RAM 缺失

我有一台 Ubuntu 服务器,它使用 bitcoind 下载区块链和执行其他一些任务。区块链已完全同步。我知道它可能会占用大量内存,这就是为什么我试图限制它使用的 RAM 量,但似乎没有成功。

我用来减少内存使用量的参数是:

-dbcache=20 
-maxsigcachesize=4 
-maxconnections=4 
-rpcthreads=1 
-par=2

cat /proc/meminfo 信息:

MemTotal:        4194304 kB
MemFree:          282108 kB
Cached:          3634908 kB
Buffers:               0 kB
Active:           820684 kB
Inactive:        3077500 kB
Active(anon):     133488 kB
Inactive(anon):   132396 kB
Active(file):     687196 kB
Inactive(file):  2945104 kB
Unevictable:          64 kB
Mlocked:              64 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        265884 kB
Shmem:              2608 kB
Slab:              13920 kB
SReclaimable:       8096 kB
SUnreclaim:         5824 kB

执行后ps aux | awk '{print $6/1024 " MB\t\t" $11}' | sort -n我得到以下信息:

0 MB        COMMAND
0 MB        [khelper/270]
0 MB        [kthreadd/270]
0.664062 MB     sh
0.753906 MB     sort
0.777344 MB     upstart-file-bridge
0.808594 MB     upstart-udev-bridge
0.828125 MB     /sbin/getty
0.832031 MB     /sbin/getty
0.972656 MB     awk
0.972656 MB     upstart-socket-bridge
1.10938 MB      ps
1.39844 MB      /lib/systemd/systemd-udevd
1.39844 MB      su
1.48047 MB      rsyslogd
1.70703 MB      tmux
2.04297 MB      -bash
2.06641 MB      -bash
2.54688 MB      init
3 MB        /usr/sbin/sshd
3.86328 MB      sshd:
29.4609 MB      /usr/lib/erlang/erts-5.10.4/bin/beam.smp
285.316 MB      ./bin/bitcoind

如果 bitcoind 只占用 285MB,那为什么 4GB 内存中只剩下不到 300MB? bitcoind 在 tmux 会话中运行,被终止后,我没有再获得任何内存。

答案1

缓存:3634908 kB

这是您的 HDD 读/写缓存。Linux 和大多数其他操作系统将使用所有可用内存作为驱动器缓存。此缓存大小不固定。如果您的程序需要更多内存,那么一些内存将被刷新到磁盘,为正在运行的程序腾出空间。

相关内容