Linux的进程kswapd0占用CPU过高导致卡顿问题
问题描述
最近发现服务器访问速度变慢,内存占得很满,操作经常卡顿,因为部署了不少的服务,有应用服务,也有数据库服务都很吃内存,但是查看还剩余2G左右内存,应该不至于卡顿,于是准备处理一下。
看了系统经常发现一个进程kswapd0 一阵一阵的占用超高的CPU资源。
查了一些资料说,系统物理内存不足时,kswapd0 会频繁的进行换页操作(使用swap分区与内存换页操作交换数据),而换页操作非常消耗 CPU 资源,所以导致该进程持续占用 CPU 资源过高。
在linux的内存分配机制中,优先使用物理内存,当物理内存有空闲时,不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。
问题分析
可以通过调整vm.swappiness 内核参数来控制交换空间的大小。
设置vm.swappiness=0
,告诉内核尽量少用到swap分区,但不代表禁用swap分区;
设置vm.swappiness=100
的话,则表示尽量使用swap分区。
解决方案
临时调整swappiness
$ sysctl vm.swappiness=0
$ cat /proc/sys/vm/swappiness
永久调整swappiness
$ vi /etc/sysctl.conf
#最后一行加上
vm.swappiness=0
重新加载参数
$ sysctl -p
Linux的进程kswapd0占用CPU过高导致卡顿问题相关推荐
- 打开Vscode提示rg.exe占用cpu过高,电脑卡顿
Vscode更新之后rg.exe占用cpu过高 文件->首选项->搜索"search.followSymlinks"改为false 图片:
- kswapd0占用CPU过高问题处理
项目场景: kswapd0占用CPU过高,严重影响服务器及虚拟机的使用. 问题描述 最近同事反应工作站上的虚拟机太慢了.到虚拟机上看了一下,资料占得很满,一点很长时间没反应,卡得不行,但虚拟机上只部署 ...
- window 查找 java 进程中占用cpu比较高的线程
概述 公司内部的一个产品 (java 开发的) 运行在 window 虚拟机上,运行一段时间后CPU飙升,然后想查看是哪个线程占用. 折腾了一下午,终于定位到该线程. 下面我们通过两种方式定位到占用c ...
- 【电脑卡慢】win10 TiWorker.exe进程持续占用CPU过高
. TiWorker.exe是什么? TiWorker.exe是windows操作系统的一个组件,主要用于安装新模块或系统更新,全程Windows Modules Installer Worker. ...
- linux中Select 函数占用cpu过高问题
这几天用select函数发现用select函数占用的cpu过高,虽然我已经设置了阻塞时间. 这是因为select函数是会修改时间变量timeval结构体的值,这个结构体的值设置成0,每次select结 ...
- Unity-- Gfx.WaitForPresentOnGfxThread占用CPU过高导致帧率低
一个新建的URP项目,里面只有几个测试模型,结果在3070的笔记本电脑上,只能运行到20帧!FPS=20! 这实在受不了,开始Profiler分析原因.发现Gfx.WaitForPresentOnGf ...
- vs code1.61.1 任务管理器里出现2个rg进程占用cpu很高电脑运行卡
环景: win10专业版 vs code v.1.61.1 问题描述: 任务管理器里出现2个rg进程占用cpu很高,电脑卡 解决方案: vs code软件里打开文件->首选项->设置搜se ...
- linux下查找java进程占用CPU过高原因
linux下查找java进程占用CPU过高原因 1. 查找进程 top查看进程占用资源情况 明显看出java的两个进程22714,12406占用过高cpu. 2.查找线程 使用top -H -p &l ...
- linux php cpu,查找linux下进程占用CPU过高的原因,以php-fpm为例
很多时候,线上服务器的进程在某时间段内长时间占用CPU过高,为了优化,我们需要找出原因. 1.找出占用CPU最高的10个进程 ps aux | sort -k3nr | head -n 10 或查看占 ...
最新文章
- 【转载】COM 组件设计与应用(四)——简单调用组件
- 没想到咱也算得上是先富起来的那一拨
- 一分钟明确 VS manifest 原理
- Redis 持久化方式
- 美国计算机协会ACM子刊中国特辑:中国的人工智能初创企业
- 95-34-030-Context-DefaultChannelHandlerContext
- Java开源项目Hibernate包作用详解
- Unity3D基础31:脚本生命周期
- JavaScript 中的异步:Event Loop 及其他
- Linux Vsftpd 连接超时解决方法(被动模式)
- Effective Objective-C 的读书笔记
- python中索引越界的常见原因
- 生活中很多“被我们忽视的东西”存在价值
- 硬盘分区大学计算机,电脑硬盘容量要怎么选?又要怎么硬盘合理分区?今天我再说一次!...
- Office2013办公软件简体中文专业增强版
- algodoo是什么意思_ooc表示的是什么意思什么梗 网络用语OOC含义
- python getch_macOS 下的 getch()
- sitemap-php生成网站地图
- 第五章 图像基础(设备内容)
- 电脑赚钱兼职平台有哪些?分享几个正规靠谱的平台
热门文章
- 求助编译lede的openwrt固件是云编译出错
- BZOJ 3669 【NOI 2014】 魔法森林
- php读取图片文件流,详解php文件包含原理(读取文件源码、图片马、各种协议、远程getshell等)...
- A*算法详解(个人认为最透彻的一个)
- 手机按上sim卡显示无服务器,无服务是卡的?和手机卡顿并无关联
- 【进击的CMMI】组织过程资产与持续改进
- Python中isinstance用法
- 鸿蒙系统体验手机机,香香的鸿蒙系统体验机:荣耀9X
- 测试开发工程师成长日记010 - Jenkins中的CI/CD/CT(持续集成构建/持续交付/持续测试)
- 安装docker desktop失败解决办法