docker(wsl)命令 帮助文档
WSL
wsl使用教程
wsl -l -v
列出所有已安装的 Linux 发行版
wsl -t Ubuntu-22.04 --shutdown
关闭所有正在运行的WSL发行版。如果你只想关闭特定的发行版
wsl -d Ubuntu-22.04
登录到Ubuntu环境
wsl --list --running
查看正在wsl中运行的linux发行版
wsl --unregister
(系统名称) 注销
wsl --unregister Ubuntu-20.04
wsl --import
(发行版) (安装位置) (文件路径以及文件名称)
wsl --import Ubuntu-20.04 D:\WSL\Ubuntu-20.04 D:\Ubuntu-20.04.tar --version 2,–version 2表示是wsl2导出的系统
wsl --status
检查 WSL 状态
wsl df -h /
输出将包括文件系统、大小、已用、可用、使用百分比和装载位置等信息
free -m
查看内存、swap大小
cat /proc/cpuinfo| grep "processor"| wc -l
查看处理器个数
凡是不带wsl的命令都需要进入Linux子系统后敲
WSL 官网命令
调整WSL占用内存和空间
装完WSL后,查看任务管理器时发现vmmem进程占用内存过高。
WSL内存默认值是电脑内存的一半,CPU默认值是电脑处理器个数,swap空间默认值是电脑内存的四分之一。
- wsl2使用的虚拟硬盘(VHD)默认大小为1TB
- WSL2虚拟机默认分配的内存是Windows上总内存的50%或8GB,以较小者为准
- WSL2的交换空间默认是Windows上25%的内存大小四舍五入到最接近的GB
交换空间类似于Windows的虚拟内存,是当物理内存不足时使用的基于磁盘的RAM
WSL2使用一个轻量级的虚拟机来运行Linux内核,从而提供完整的Linux环境。然而,WSL2并不是设计来消耗如此大量的内存的,实际上,它通常使用的内存远小于1TB。如果你想要为WSL2分配1TB的内存,这在技术上是不可行的。但请注意,这并不意味着WSL2能够使用超过你物理内存限制的内存。
通常,WSL2的内存使用量会根据你的Linux发行版和运行的应用程序来动态调整。如果你需要更多的内存来运行特定的Linux应用程序,你可以考虑:
- 增加物理内存:如果你的电脑支持,可以增加更多的RAM。
- 优化应用程序:调整Linux中的应用程序,使其更高效地使用内存。
- 使用交换空间:通过增加WSL2的交换空间来模拟更多的内存,但这会显著降低性能,因为硬盘的速度远慢于RAM。
交换空间
WSL(Windows Subsystem for Linux)交换文件(swap file)的作用与Linux系统中的交换文件类似,它是一种内存管理技术,用于扩展系统的物理内存。当系统的物理内存(RAM)不足以容纳当前所有活跃的进程时,操作系统会使用交换文件(或交换分区)作为临时存储空间,将一部分内存中的数据移动到硬盘上,以便为新的进程或数据腾出空间。
WSL2的虚拟内存大小可以通过配置文件进行调整 (.wslconfig)
第一步:关闭所有运行的系统
# 查看wsl版本
wsl -l -v
# 查看正在wsl中运行的linux发行版
wsl --list --running
# 关闭所有正在wsl中运行的linux发行版
wsl --shutdown
第二步:修改.wslconfig配置文件
- .wslconfig文件存放于当前用户的目录,即绝对路径为C:\Users\你的用户名.wslconfig,没有的话就新建一个。
- 也可以打开文件管理器后,在地址栏输入%UserProfile%跳转至用户目录,再新建或编辑.wslconfig文件。
# Settings apply across all Linux distros running on WSL 2
[wsl2]# Limits VM memory to use no more than 2 GB, this can be set as whole numbers using GB or MB
memory=4GB # Sets the VM to use two virtual processors设置指定WSL 2虚拟机使用的虚拟处理器的数量
processors=4# Sets amount of swap storage space to 2GB, default is 25% of available RAM
swap=4GB# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
# swapfile=C:\\temp\\wsl-swap.vhdx
查看内存和交换空间使用情况:
free -m
查看查看WSL2虚拟内存大小:wsl --list --verbose
cat /proc/cpuinfo| grep "processor"| wc -l
查看处理器个数
查看交换文件大小:cat /proc/swaps
查看可用宿主机可用物理内存
systeminfo
我新建的.wslconfig配置文件位置:C:\Users\HUAWEI
修改内容如下:
# Settings apply across all Linux distros running on WSL 2
[wsl2]# Limits VM memory to use no more than 2 GB, this can be set as whole numbers using GB or MB 第一次只修改了这里
memory=8GB # Sets the VM to use two virtual processors
processors=4# Sets amount of swap storage space to 2GB, default is 25% of available RAM
swap=4GB# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
# swapfile=C:\\temp\\wsl-swap.vhdx
修改好配置文件后,重启wsl2,让配置生效
wsl --shutdown
解析文档还是卡在83%~~
WSL从C盘迁移到其它盘
wsl安装的系统默认在c盘,为节省c盘空间进行迁移
cd到目标盘后执行导出命令:wsl --export Ubuntu-20.04 ./Ubuntu-20.04.tar
,将系统导出到D盘
注销原来的环境,命令格式为wsl --unregister (系统名称)
,具体案例为: wsl --unregister Ubuntu-20.04
执行导入命令 ,命令格式为 wsl --import (发行版) (安装位置) (文件路径以及文件名称)
,具体案例为:wsl --import Ubuntu-20.04 D:\WSL\Ubuntu-20.04 D:\Ubuntu-20.04.tar --version 2,–version 2表示是wsl2导出的系统。
启动wsl系统,执行df -h
查看是否成功
参考原文
wsl空间清理
【琐碎问题】WSL2空间清理
Windows WSL2 占用磁盘空间清理释放
Docker
sudo chmod +x /usr/local/bin/docker-compose #添加可执行权限
docker-compose -v #查看版本
sudo su 进入管理员模式
systemctl restart docker 重新启动docker
sudo vim /etc/docker/daemon.json 为docker添加镜像源
sudo systemctl daemon-reload 修改配置文件后重载
sudo systemctl restart ollama 重启服务
查看所有镜像:docker images
查看当前运行的容器:docker ps
停止一个正在运行的容器:docker stop 《容器ID或名称》
启动docker:systemctl start docker
重启docker:service docker restart
查看版本:sudo docker version
查看镜像:sudo docker images
删除:docker rmi <iamge_name>:或者docker rmi <image_id>
强制删除:docker rmi -f <image_name>:
删除悬空镜像(从未使用过的):docker iamge prune
docker iamge prune -a (所有悬空镜像)