李拖沓
2022/11/17阅读:217主题:嫩青
【生信】记一下怎么调整WSL2的可使用内存的大小
记一下怎么调整WSL2的可使用内存的大小
参考
ubuntu查看内存或cpu使用情况_51CTO博客_ubuntu查看内存使用情况
限制wsl2占用过多内存 - TinyChen's Studio - 互联网技术学习工作经验分享
查看Ubuntu内存
今天用一个包,里面调用比对软件STAR对hg38参考序列构建索引,报错了
由于我是在我自己的Win11电脑上装的WSL2来跑的软件
所以我一开始自然而然的觉得是我电脑内存不足导致的,后来我查了下怎么看Ubuntu的内存
free -m
发现Ubuntu只调用了 6G Memory 和 2G swap
顺带一提,我写到这查了一下这两个的区别:
【Linux】Linux中Swap与Memory内存简单介绍___威少__的博客-CSDN博客
“对于memory没什么可说的就是机器的物理内存,读写速度低于cpu一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。... 既然不能全部使用内存,那数据还有程序肯定不可能一直霸占在内存中。当内存没有可用的,就必须要把内存中不经常运行的程序给踢出去。但是踢到哪里去,这时候swap就出现了。swap全称为swap place,,即交换区,当内存不够的时候,被踢出的进程被暂时存储到交换区。当需要这条被踢出的进程的时候,就从交换区重新加载到内存,否则它不会主动交换到真是内存中。
在详细介绍swap之前,我们需要知道的是计算机对内存分为物理内存与虚拟内存(注意虚拟内存和虚拟地址空间的区别)。物理内存就是计算机的实际内存大小,由RAM芯片组成的。虚拟内存则是虚拟出来的、使用磁盘代替内存。虚拟内存的出现,让机器内存不够的情况得到部分解决。当程序运行起来由操作系统做具体虚拟内存到物理内存的替换和加载(相应的页与段的虚拟内存管理)。这里的虚拟内存即所谓的swap。 ———————————————— 版权声明:本文为CSDN博主「__威少__」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/zwan0518/article/details/12059213
调整Ubuntu内存
机灵的我马上意识到这是WSL2的锅
当然,我还查了STAR的参数,发现这个软件好像最小都必须要使用 8G 的内存
继续查发现在Windows的user目录中创建一个.wslconfig
的文件,可以调整WSL2的内存大小,步骤如下:
-
彻底关闭 WSL2 。仅关掉窗口,如果查看任务管理器的话,还是可以看到 Vmmem 这个进程在运行。要彻底关闭WSL2,必须打开 Powershell 输入
wsl --shutdown
-
在Windows的users也就是用户目录,当前用户的文件夹下,创建一个
.wslconfig
的文件。比如说我的目录是这样的C:\Users\60569
。用文本编辑器打开.wslconfig
,设置如下:[wsl2]
processors=8
memory=8GB
swap=8GB
localhostForwarding=true当然,你也可以先创建
.txt
文件,写好了再把文件名改成.wslconfig
更多设置可以查看 Advanced settings configuration in WSL | Microsoft Learn
这样设置完成了
再次打开WSL2,输入 free -m
就可以看到WSL2的内存编程你设置的大小了
下次再遇到内存不足的问题就没法甩锅给WSL2了。
作者介绍