Linux占用swap分区过高,物理内存还有剩余
Linux占用swap分区过高,物理内存还有剩余
问题分析
Swap配置对性能的影响
分配太多的Swap空间会浪费磁盘空间,而Swap空间太少,则系统会发生错误。如果系统的物理内存用光了,系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。例如,Web服务器能根据不同的请求数量衍生出多个服务进程(或线程),如果Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。因此Swap空间的分配是很重要的。
通常情况下,Swap空间应大于或等于物理内存的大小,最小不应小于64M,通常Swap空间的大小应是物理内存的2-2.5倍。但根据不同的应用,应有不同的配置:如果是小的桌面系统,则只需要较小的Swap空间,而大的服务器系统则视情况不同需要不同大小的Swap空间。特别是数据库服务器和Web服务器,随着访问量的增加,对Swap空间的要求也会增加,一般来说对于4G 以下的物理内存,配置2倍的swap,4G 以上配置1倍。
另外,Swap分区的数量对性能也有很大的影响。因为Swap交换的操作是磁盘IO的操作,如果有多个Swap交换区,Swap空间的分配会以轮流的方式操作于所有的Swap,这样会大大均衡IO的负载,加快Swap交换的速度。如果只有一个交换区,所有的交换操作会使交换区变得很忙,使系统大多数时间处于等待状态,效率很低。用性能监视工具就会发现,此时的CPU并不很忙,而系统却慢。这说明,瓶颈在IO上,依靠提高CPU的速度是解决不了问题的。
故障现象
问题解决
1.关闭swap分区,在关闭swap分区的过程中是一个很漫长的过程。需要等待一段时间。
# swapoff -a && swapon -a
2.swap配置优化:
swappiness参数 | 表示意义 |
---|---|
swappiness=0 | 最大限度使用物理内存,然后才是 swap空间 |
swappiness=100 | 的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。 |
swappiness=60 | linux的基本默认设置为60 |
一般默认值都是60 cat /proc/sys/vm/swappiness
也就是说,你的内存在使用到100-60=40%的时候,就开始出现有交换分区的使用。大家知道,内存的速度会比磁盘快很多,这样子会加大系统io,同时造的成大量页的换进换出,严重影响系统的性能,所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整。
调整方法
1.临时调整
[root@st-computer04 ~]# sysctl vm.swappiness=0
vm.swappiness = 0
[root@st-computer04 ~]# cat /proc/sys/vm/swappiness
0
# 重启后会回到默认设置的
2.永久调整
[root@st-computer04 ~]# cat>>/etc/sysctl.conf<<EOF
vm.swappiness=0
EOF
# 生效
[root@st-computer04 ~]# sysctl -p
vm.swappiness = 0
# 表示最大限度的使用物理内存
Linux占用swap分区过高,物理内存还有剩余的更多相关文章
- Linux 下 swap 分区及作用详解
我们在安装系统的时候已经建立了 swap 分区.swap 分区是 Linux 系统的交换分区,当内存不够用的时候,我们使用 swap 分区存放内存中暂时不用的数据.也就是说,当内存不够用时,我们使用 ...
- Linux增加Swap分区
Linux增加Swap分区 dd if=/dev/zero of=/data/swap/swapfile1 bs=4096 count=2097152 mkswap /data/swap/swapfi ...
- linux初学者-swap分区篇
linux初学者-swap分区篇 swap是虚拟内存,是在硬盘中分区一块区域,当内存占满但是又急迫需要时临时当作内存使用,使用效率低于内存.本文将对linux系统中swap分区的建立做一个简要介绍. ...
- Linux下swap分区多大才合适的问题探讨
说明: 1.这个话题在每个Linux发行版中都各不相同,且在当下内存硬盘的时代下,再组个磁盘阵列之后速度相当. 2.我觉得硬盘大的情况下,有多大搞多大,我只要控制内存的使用率在99%时才使用swap, ...
- 如何不让oracle使用linux的swap分区
经常看到swap分区被使用,被缓存的内容本来是为了增加命中率,结果去不断换入换出,导致本地磁盘IO增加,影响访问速度.所以在内存充足的情况下,如果我们觉得不需要使用swap分区的时候,那就要想办法尽量 ...
- LINUX增加SWAP分区---install_oracle
我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢?在装完Linux系统之后,建立Swap分区有两种方法.1.新建磁盘分区作为swap分 ...
- Azure Linux VM Swap 分区
默认情况下,Windows Azure上的Linux VM是没有Swap分区的.下面我们以Ubuntu为例,为Windows Azure上的Linux虚拟机创建Swap分区. Windows Azur ...
- 。linux中swap分区
1.swap分区的最重要的作用是防止网站流量突然增大而导致系统分配内存不够用而死机. 2.使用swap交换分区,会使服务器的性能降低很多,导致访问速度变慢. 3.交换分区.我们如果没有足够的内存,也许 ...
- 在不重装系统的情况下创建Linux的Swap分区
本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=649 操作环境: CentOS 7 操作背景: 本文中使用的CentOS Linux系统在安装的时候没有创建Swap ...
随机推荐
- shell分支与循环结构
1. 条件选择 1.1 条件判断分支介绍 格式 if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMM ...
- 树结构系列(四):MongoDb 使用的到底是 B 树,还是 B+ 树?
文章首发于「陈树义」公众号及个人博客 shuyi.tech 文章首发于「陈树义」公众号及个人博客 shuyi.tech,欢迎访问更多有趣有价值的文章. 关于 B 树与 B+ 树,网上有一个比较经典的问 ...
- 【深度学习】PyTorch CUDA环境配置及安装
Pytorch版本介绍 torch:1.6 CUDA:10.2 cuDNN:8.1.0 安装 NVIDIA 显卡驱动程序 一般 电脑出厂/装完系统 会自动安装显卡驱动 如果有 可直接进行下一步 下载链 ...
- 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之镜像制作win2008r2-19
自动化kolla-ansible部署ubuntu20.04+openstack-victoria之镜像制作win2008r2-19 欢迎加QQ群:1026880196 进行交流学习 制作OpenSta ...
- Spring/SpringBoot整合QuartZ
https://www.bilibili.com/video/av55637917/?p=2
- Day14_80_反射机制+IO+Propreties动态创建对象
反射机制+IO+Propreties动态创建对象 * 使用Properties文件,在文件中通过<key value>的形式保存一下类名,然后通过IO 获取该类名,再然后利用反射机制得到该 ...
- mooc人大单元测试4
@font-face { font-family: Wingdings } @font-face { font-family: 宋体 } @font-face { font-family: " ...
- 使用IDEA模拟git命令使用的常见场景
目录 使用IDEA模拟git命令使用的常见场景 前期准备 新建一个远程仓库 在一个文件夹内建立两个子文件夹作为两个本地仓库的存放位置 本地仓库与远程仓库建立联系 模拟两个用户协同开发的场景(使用IDE ...
- 反调试——Windows异常-SEH
反调试--Windows异常-SEH 概念: SEH:Structured Exception Handling SEH是Windows默认的异常处理机制 如何使用 在代码中使用 __try__e ...
- 病毒木马查杀实战第017篇:U盘病毒之专杀工具的编写
前言 经过前几次的讨论,我们对于这次的U盘病毒已经有了一定的了解,那么这次我们就依据病毒的行为特征,来编写针对于这次U盘病毒的专杀工具. 专杀工具功能说明 因为这次是一个U盘病毒,所以我打算把这次的专 ...