Linux的内存是虚拟内存,是物理内存和交换分区swap。
内存:
页:4K, 硬盘:块。
寻址:
空间:内存的合并。大页内存。
free命令:
[root@vm1 ~]# free -h
total used free shared buff/cache available
Mem: 1.8G 153M 1.4G 9.5M 270M 1.5G
Swap: 4.0G 0B 4.0G
[root@vm1 ~]# free -m
total used free shared buff/cache available
Mem: 1819 153 1394 9 270 1513
Swap: 4095 0 4095
Linux会大部分把内存分配给buff/cache, 我们只要看available(可用的内存)的值。
共享内存:进程间通信就是使用共享内存。
vmstat:
交换分区,能不使用,尽量不使用交换分区,可以通过更改内核参数来优化。
si:数据从交换分区读取到内存的大小。(内存进来)
so:数据从内存到交换分区的大小。(内存出去)
bi:从交换分区读到块的。
bo:内存写到块里的。
内存使用指标:
固定的值也没有。一般经验值:设置为80%就报警。
写代码的时候,如果看到内存一直上涨,就说明代码有问题。