Linux的内存是虚拟内存,是物理内存和交换分区swap。

内存:

页:4K, 硬盘:块。

寻址:

空间:内存的合并。大页内存。

free命令:

[root@vm1 ~]# free -htotalusedfreesharedbuff/cache availableMem: 1.8G153M1.4G9.5M270M1.5GSwap:4.0G0B4.0G
[root@vm1 ~]# free -mtotalusedfreesharedbuff/cache availableMem: 1819 1531394 9 2701513Swap:4095 04095

Linux会大部分把内存分配给buff/cache, 我们只要看available(可用的内存)的值。

共享内存:进程间通信就是使用共享内存。

vmstat:

交换分区,能不使用,尽量不使用交换分区,可以通过更改内核参数来优化。

si:数据从交换分区读取到内存的大小。(内存进来)

so:数据从内存到交换分区的大小。(内存出去)

bi:从交换分区读到块的。

bo:内存写到块里的。

内存使用指标:

固定的值也没有。一般经验值:设置为80%就报警。

写代码的时候,如果看到内存一直上涨,就说明代码有问题。