Hi teachers, thanks for your helps, problem has been changed now.
I'm afraid that I miss-understood the command from Celyr:
Code:
echo number > /proc/sys/vm/nr_hugepages
I re-issue it like this:
Code:
echo 0 > /proc/sys/vm/nr_hugepages
OK, then I tried "free -m"
Code:
[root@ID5xinyong ~]# free -m
total used free shared buffers cached
Mem: 32108 24601 7507 0 5 44
-/+ buffers/cache: 24550 7557
Swap: 34287 117 34170
Yea, I got 7 Gib back.
I learnt some knowledge from someone's blog, and this is my thinking: the memory taken by huge page cannot be used by other programs(Maybe it just can be used by the program which specifies using HugePage clearly), and it will be in RAM for ever, so Linux OS takes these memory as used.
Please teachers correct me if there are mistakes for my understanding.
OK, back to the very first question: now, there are still about 24 Gib have been used, I do want to know who takes it.
I have read the article provided by @Chris, in the article, it mentioned that the disc cache may take the RAM but these RAM will be released when needed.
The example in that article, it takes this for example:
Code:
$ free -m
total used free shared buffers cached
Mem: 1504 1491 13 0 91 764
-/+ buffers/cache: 635 869
Swap: 2047 6 2041
For sure, the actual free RAM is not 13 but 869, but for my system:
Code:
[root@ID5xinyong ~]# free -m
total used free shared buffers cached
Mem: 32108 24601 7507 0 5 44
-/+ buffers/cache: 24550 7557
Swap: 34287 117 34170
The used RAM in actual is 24550, I still want to know which process eats my RAM, is it the Kernel? If yes, I don't think it needs SO many RAM indeed.
Teachers, THANKS IN ADVANCE!!