Docker Desktop Vmmem内存占用过高问题解决方案

这篇具有很好参考价值的文章主要介绍了Docker Desktop Vmmem内存占用过高问题解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker Desktop Vmmem内存占用过高问题解决方案

Docker Desktop Vmmem内存占用过高问题解决方案

内存占用过高原因

主要原因是docker desktop的实现及基于wsl(Windows子系统),相当于在Windows上同时开了一个虚拟机,如果不对wsl的资源进行限制,它将会极大的获取系统资源.所以我们只需要对wsl的最大资源进行限制即可

解决方案

  1. 修改wsl配置文件

    官方地址

    具体配置:

    # Settings apply across all Linux distros running on WSL 2
    [wsl2]
    
    # Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
    memory=4GB 
    
    # Sets the VM to use two virtual processors
    processors=2
    
    # Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel
    kernel=C:\\temp\\myCustomKernel
    
    # Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
    kernelCommandLine = vsyscall=emulate
    
    # Sets amount of swap storage space to 8GB, default is 25% of available RAM
    swap=8GB
    
    # Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
    swapfile=C:\\temp\\wsl-swap.vhdx
    
    # Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
    pageReporting=false
    
    # Turn off default connection to bind WSL 2 localhost to Windows localhost
    localhostforwarding=true
    
    # Disables nested virtualization
    nestedVirtualization=false
    
    # Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
    debugConsole=true
    
  2. 在用户目录创建个.wslconfig文件,即C:\Users\<UserName>\.wslconfig

  3. 创建完成后将配置文件内容粘贴进去

    [wsl2]
    #配置wsl的核心数
    processors=2
    #配置wsl的内存最大值
    memory=512MB
    #配置交换内存大小,默认是电脑内存的1/4
    swap=8GB
    #关闭默认连接以将 WSL 2 本地主机绑定到 Windows 本地主机
    localhostForwarding=true
    #设置临时文件位置, 默认 %USERPROFILE%\AppData\Local\Temp\swap.vhdx
    swapfile=D:\\temp\\wsl-swap.vhdx
    
  4. 保存后以管理员打开powershell,执行如下语句关闭wsl:

    wsl --shutdown
    
  5. 重启docker desktop即可

后续问题(缺点)

如果内存设置的太小了,后续可能会出现docker desktop 运行一段时间退出,或者容器会突然停止工作

所以我们的memory=512MB要根据自己启动的容器所占内存大小稍大一点即可,但是如果是后续需要增加容器需要自己手动再次扩大memory文章来源地址https://www.toymoban.com/news/detail-446327.html

到了这里,关于Docker Desktop Vmmem内存占用过高问题解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql内存占用过高的问题

    现象:在mysql运行一天之后,发现内存占用量达到总内存的百分之77,且swap被占用百分之50 问题检查如下: 第一步:开启内存使用的监控服务 第二步: 查看正常实例的使用情况 第三步: 查看内存监控表数据 第三步: 查看事件类型下的内存量 问题解决:         当事件的

    2024年02月11日
    浏览(62)
  • Java内存占用过高问题分析

    这里我们创建一个springboot项目, 然后随便写一个contoller, 在这个controller中定义一个List集合, 然后再初始化的时候让集合中10万个字符串, 然后部署并启动项目(这里为了贴近实战, 我是在centos中启动的项目) 进入系统, 使用top命令显示系统中的进程信息, 然后点击H(大写), 以内存排

    2024年02月09日
    浏览(53)
  • 解决VMware内存占用过高问题

    回顾多年的记录笔记方法,… VMware虚拟机使用时间一段时间后,会出现开启VMware客户机内存占用过高问题。 1、VMware cache缓存区目录占用太大空间。 2、由于VMware是跨平台的虚拟技术,在使用VMware时,VMware会定时的监测电脑的外部硬件接口,如光驱,USB,现在电脑基本没有光

    2024年02月09日
    浏览(46)
  • 解决IDEA内存占用过高问题

    往往对于笔记本过电脑内存不够来说的用户,idea占用内存是很高的,打开idea内存直接飙升,因此我做了以下处理。 针对全栈的人来说,项目中的前端依赖包文件过多,因此扫描索引占用内存过高,主要node_modules文件夹导致的 ctrl+alt+s打开设置搜索文件类型 复制粘贴以下配置

    2024年02月04日
    浏览(50)
  • 解决mysql启动占用运行内存过高

    方法1(选取于网络,针对自己的服务器没起作用) 修改my.cnf参数: 重启mysql服务。我这里遇到的没解决,不知道其他人能够解决问题,物理 内存300M以及虚拟内存1G依旧,没改善。 方法2:(解决了当前自己遇到的问题) 要关闭 Performance Schema ,5.6默认开启的,该参数主要用

    2024年02月07日
    浏览(50)
  • SpringBoot 项目启动内存占用过高优化以及内存查看

    在使用SpringBoot 开发过程中,发现不管是本地还是测试环境只要一启动,动不动就占用1G内存,然而本地和测试环境的访问量却并没有多少,导致资源浪费; 2.1、启动命令示例(具体配置可根实际情况调整) nohup java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -Xms128m -Xmx128m -Xmn

    2024年02月03日
    浏览(43)
  • Java进程内存占用过高,排查解决方法

    Java进程内存占用过高,排查解决方法 在Java应用程序开发过程中,我们经常会遇到Java进程占用内存过高的问题。这可能会导致系统性能下降、应用程序崩溃甚至无法启动。本文将介绍一些常见的排查和解决方法,帮助您解决Java进程内存占用过高的问题。 检查内存泄漏 内存泄

    2024年02月07日
    浏览(43)
  • Linux中buff/cache内存占用过高,手动释放内存

    buff/cache内存占用太高 我们在使用free -h或者(top命令)查看系统内存的时候,有时间会发现buff/cache很高,如下图:(可以看到总内存就251G,buff/cache占用了174G) 什么是buff buff(Buffer Cache)是一种I/O缓存,用于内存和硬盘的缓冲,是io设备的读写缓冲区。 什么是cache cache(Page

    2024年02月12日
    浏览(45)
  • linux下的buff/cache内存占用过高-手动清除释放内存

    buff/cache内存占用太高 我们在使用free -h或者(top命令)查看系统内存的时候,有时间会发现buff/cache很高,如下图: 可以看到占用了377M的内存 什么是buff buff(Buffer Cache)是一种I/O缓存,用于内存和硬盘的缓冲,是io设备的读写缓冲区。 什么是cache cache(Page Cache)是一种高速缓

    2024年02月07日
    浏览(97)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包