乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Linux优化排错 1.10 内存
2017-08-12 01:20:27
81
0
0
admin
> 入门知识 通常情况下: 可用内存=空闲内存+buffer+cache ``` buffer 和 cache 都是Linux的缓存,在需要的时候可以释放内存,让给需要的进程 ``` 当前buffer和cache的界限比较模糊,大致可以这样理解 **buffer**:对设备文件,块文件读写的缓存 **cache**:对文件系统读写的缓存 可用内存 > 70% => 空闲 可用内存 > 20% => 正常 可用内存 < 20% => 不够了 当系统使用swap 时且swap 在与内存切换时(vmstat 的si so 不为0),说明内存不够了 进程主缺页过多说明内存不够了(sar -B 看 majflt/s) ``` Linux 会把一些内存数据写到磁盘来扩大虚拟内存空间(不是单纯的swap) 如果进程需要这些数据,而数据不在内存中,就造成缺页中断。 如果Linux去磁盘才能拿到需要的数据,就是主缺页。 如果Linux已经缓存了需要拿到的数据,就是次缺页。 ``` *** #命令free  -b 以byte 为单位 -k 以kb 为单位 -m 以mb 为单位 -g 以gb 为单位 *** #命令vmstat vmstat 10 3 #每10秒输出一次,共输出3次  -a 显示active memory 和inactive memory **memory下的值**: swpd => 切换到swap 的内存,单位kb free => 空闲内存,单位kb buff => buff cache => cache **swap下的值**: si => 从磁盘交换到内存的量 kb/秒 so => 从内存交换到磁盘的量 kb/秒 *** #命令top -b 一次又一次的输出结果,而不是刷新 -d 两次刷新之间时间的间隔 -p 只看某一个进程 **按内存使用率排序 top -a** **在redhat7 上使用top -o %MEM**  第四行:总内存,内存使用量,内存空闲量,buffer量 第五行:总swap,swap使用量,swap空闲量,cache量 **进程中的值**: VIRT => 进程使用的虚拟内存总量,单位kb RES => 进程使用的实际物理内存,单位kb SHR => 进程使用的共享内存,单位kb %MEM => 进程使用的内存百分比 **在top界面按1可以看每一个CPU 的使用情况**
上一篇:
Linux_防火墙
下一篇:
Linux优化排错 1.11 内存 关于清理cache
文档导航