Linux大页会立即占用分配内存

 

Linux大页会立即占用分配内存

 

系统参数vm.nr_hugepages设置生效后,会立即分配对应内存。

如下:

[root@dev-app80 ~]# sysctl -q vm.nr_hugepages
vm.nr_hugepages = 0
[root@dev-app80 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3949         231        3607           8         111        3659
Swap:          4095           0        4095

设置参数为1000,会立刻分配走2000M的大小给大页。
[root@dev-app80 ~]# sysctl vm.nr_hugepages=1000
vm.nr_hugepages = 1000
[root@dev-app80 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3949        2231        1607           8         111        1659
Swap:          4095           0        4095

 

两次available相减正好=2000。这个值可能因为free精度显示问题略有偏差。

 

此时,无法确定内存被大页使用。

其中,RSS为实际物理使用内存,单位是kB。

[root@dev-app80 ~]# ps aux | head -1;ps aux |grep -v PID |sort -rn -k +6 | head -20 
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       849  0.0  0.4 574276 17436 ?        Ssl  May02   4:35 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
root       850  0.0  0.2 218528  9256 ?        Ssl  May02   1:56 /usr/sbin/rsyslogd -n
polkitd    583  0.0  0.1 612232  8036 ?        Ssl  May02   0:02 /usr/lib/polkit-1/polkitd --no-debug
root       429  0.0  0.1  39056  6328 ?        Ss   May02   0:05 /usr/lib/systemd/systemd-journald
root     17100  0.0  0.1 157300  6004 ?        Ss   08:48   0:00 sshd: root@pts/0,pts/1
root       584  0.0  0.1 168144  5040 ?        Ss   May02   0:00 /usr/bin/VGAuthService -s
root       585  0.1  0.1 348804  4912 ?        Ssl  May02  45:30 /usr/bin/vmtoolsd
root       848  0.0  0.1 112900  4316 ?        Ss   May02   0:00 /usr/sbin/sshd -D
root         1  0.0  0.1  52004  4180 ?        Ss   May02   8:54 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root       463  0.0  0.0  46308  2780 ?        Ss   May02   0:00 /usr/lib/systemd/systemd-udevd
dbus       589  0.0  0.0  58088  2368 ?        Ss   May02   0:05 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
root     17103  0.0  0.0 115676  2208 pts/0    Ss   08:48   0:00 -bash
root     17347  0.0  0.0 115676  2144 pts/1    Ss+  08:52   0:00 -bash
root     18398  0.0  0.0 155448  1856 pts/0    R+   09:12   0:00 ps aux
root       588  0.0  0.0  26384  1752 ?        Ss   May02   0:06 /usr/lib/systemd/systemd-logind
root       630  0.0  0.0 126384  1604 ?        Ss   May02   0:04 /usr/sbin/crond -n
root       580  0.0  0.0  21688  1332 ?        Ss   May02   2:31 /usr/sbin/irqbalance --foreground
root     18400  0.0  0.0 126840   912 pts/0    S+   09:12   0:00 sort -rn -k +6
root       635  0.0  0.0 110204   852 tty1     Ss+  May02   0:00 /sbin/agetty --noclear tty1 linux
root       556  0.0  0.0  55532   852 ?        S<sl May02   0:02 /sbin/auditd
[root@dev-app80 ~]# grep RSS /proc/*/status | sort -rn -k +2 | column -t
/proc/849/status:VmRSS:    17436  kB
/proc/850/status:VmRSS:    9256   kB
/proc/583/status:VmRSS:    8036   kB
/proc/429/status:VmRSS:    6328   kB
/proc/17100/status:VmRSS:  6004   kB
/proc/584/status:VmRSS:    5040   kB
/proc/585/status:VmRSS:    4912   kB
/proc/848/status:VmRSS:    4316   kB
/proc/1/status:VmRSS:      4180   kB
/proc/463/status:VmRSS:    2780   kB
/proc/589/status:VmRSS:    2368   kB
/proc/17103/status:VmRSS:  2208   kB
/proc/17347/status:VmRSS:  2144   kB
/proc/588/status:VmRSS:    1752   kB
/proc/630/status:VmRSS:    1604   kB
/proc/580/status:VmRSS:    1332   kB
/proc/self/status:VmRSS:   948    kB
/proc/18462/status:VmRSS:  948    kB
/proc/18463/status:VmRSS:  912    kB
/proc/635/status:VmRSS:    852    kB
/proc/556/status:VmRSS:    852    kB
/proc/18464/status:VmRSS:  612    kB

 

不知道是否有其他方式可以确定大页分走了内存。

按需分配大页,避免浪费内存。

防爬虫:https://www.cnblogs.com/PiscesCanon/p/17430206.html

posted @ 2023-05-25 09:20  PiscesCanon  阅读(208)  评论(0编辑  收藏  举报