在我的pi开始之后没有空闲记忆,但我找不到,用它:
pi@node1 ~ $ cat /proc/cpuinfo
processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 2.00
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7
Hardware : BCM2708
Revision : 0013
Serial : 00000000bf2e5e5c
pi@node1 ~ $ uname -a
Linux node1 4.0.7+ #801 PREEMPT Tue Jun 30 18:15:24 BST 2015 armv6l GNU/Linux
pi@node1 ~ $ head -n1 /etc/issue
Raspbian GNU/Linux 7 \n \l
pi@node1 ~ $ grep MemTotal /proc/meminfo
MemTotal: 493868 kB
pi@node1 ~ $ grep "model name" /proc/cpuinfo
model name : ARMv6-compatible processor rev 7 (v6l)
pi@node1 ~ $ ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5
0.6 0.2 6244 2377 -bash
0.3 0.0 6748 2458 sort -k 1 -nr
0.3 0.0 4140 2457 ps -eo pmem,pcpu,vsize,pid,cmd
0.2 0.1 9484 2376 sshd: pi@pts/0
0.2 0.1 5600 2236 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 104:107
pi@node1 ~ $ free
total used free shared buffers cached
Mem: 493868 478364 15504 0 500 4956
-/+ buffers/cache: 472908 20960
Swap: 102396 116 102280
我不是Linux专家,但如果我理解正确,那么只有15Mb的可用内存,但没有任务使用超过0.6%。为什么没有更多免费?
答案 0 :(得分:1)
内存不是由进程专门分配的。
并且,如果你启动一个进程并停止它并不是所有内存都会被释放。
试试吧。使用free
显示内存使用情况。启动需要一些内存的进程。停止该过程并再次使用free
。我敢打赌,内存使用量比以前多。
以下是内存使用量较少的pi示例。我没有运行java的问题。我安装了WLAN Dongle和原装NOIR CAM。
我安装了Raspbian Wheezy。我使用了从源代码编译的内核:
> uname -a
Linux raspberrypi 3.18.14+ #2 PREEMPT Sun May 31 20:19:04 UTC 2015 armv6l GNU/Linux
> head -n1 /etc/issue
Raspbian GNU/Linux 7 \n \l
在这个pi上,我可以在可接受的时间段内运行java -version
。
time java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)
real 0m1.012s
user 0m0.800s
sys 0m0.190s
这是我的记忆足迹
> free
total used free shared buffers cached
Mem: 380816 138304 242512 0 8916 96728
-/+ buffers/cache: 32660 348156
Swap: 102396 0 102396