Linux Swap swappiness 参数使用
前言 事情起因是我计划让一个优先级较低 Docker 容器应用使用部分 Swap 内存减小对系统的压力,重新创建容器时添加了 -m 200M --memory-swap 500M 参数,结果容器应用服务无法完全启动,fre -m 查看发现 Swap 内存空间占用也没有明显增加,查询资料才知道使用 Swap 内存不是创建挂载 Swap 分区就足够了的。 正文 新建挂载完 Swap 分区之后还需要设置 swappiness 参数才能更好的发挥作用。 swappiness 的值的大小对如何使用swap分区是有着很大的联系的。先前,人们建议把 vm.swapiness 设置为0,它意味着“除非发生内存益处,否则不要进行内存交换”。直到Linux内核 3.5-rcl 版本发布,这个值的意义才发生了变化。这个变化被一直到其他的发行版本上,包括 RedHat 企业版内核 2.6.32-303。在发生变化之后,0意味着“在任何情况下都不要发生交换”。所以现在建议把这个值设置为1。swappiness=100 的时候表示积极的使用 swap 分区,并且把内存上的数据及时的搬运到 swap 空间里面。 #查看 swappiness 参数 cat /proc/sys/vm/swappiness #临时修改 sysctl vm.swappiness=60 #永久修改 echo "vm.swappiness=60" >> /etc/sysctl.conf 查看系统 swappiness 参数值,返回值为0,修改此参数后 Swap 内存占用明显增加,容器应用服务也完全启动了。 参考文章: https://www.cnblogs.com/yinzhengjie/p/9994207.html
Fedora 安装远程控制软件
虽然又很多开源远程控制软件(如 RustDesk),但是在服务业你无法强迫其他用户和你使用同样的软件,最终还是用户用什么你用什么。所以这篇文章记录一下在 Ferora 41 系统上向日葵远程控制和 ToDesk 的安装方法。安装 ToDesk 官网可以直接下载到 Linux 版本的安装包。 sudo yum install libappindicator-gtk3 sudo yum install ./todesk-v4.7.2.0-x86_64.rpm 向日葵远程控制 官网只能下载到 Centos 版本的安装包,并不兼容 Fedora,需要一些额外的操作才可以正常使用。 强制安装 首先到官网下载到Centos 版本的安装包,然后强制安装 rpm 安装包。 rpm -ivh --force --no-deps 修改脚本 需要手动为 /usr/local/sunlogin/rpminstall.sh 文件和 /usr/local/sunlogin/scripts/start.sh 文件中共三处对 os_name 的判断加上 fedora,即 if [ $os_name == 'centos' ] || [ "$(echo $os_name |grep redhat)" != "" ] 替换为 if [ $os_name == 'centos' ] || [ "$os_name" == "fedora" ] || [ "$(echo $os_name |grep redhat)" != "" ]。 ...
Linux 下进行 SQL Server 课程实验
前言 作者最近安装了 Fedora 41 系统,体验一番后发现现在的 Linux 桌面生态比此前好了非常多,比如微信也有官方的 Linux 版本可用了。 于是想尝试将日常需求(比如计算机课程作业)迁移到 Fedora 41 试试看看能不能满足。这篇文章是将《数据库原理及应用》的 SQL Server 实验迁移到 Linux 平台上的实际体验。 安装 SQL Server 这里使用 Docker 容器方式一键部署,非常顺利。 微软官方教程:https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&tabs=cli&pivots=cs1-bash #新建 SQL Server dcoker 实例 docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" \ -p 1433:1433 --name sql1 --hostname sql1 \ -d \ mcr.microsoft.com/mssql/server:2022-latest 连接 SQL Server 可以使用 navicat17-premium-lite 免费软件连接数据库。这个软件为 Linux 发行版提供了 AppImage 可执行文件,界面比较美观,也能够在 Linux 上流畅稳定地运行。 首先新新建 SQL Server 连接,使用本地地址 127.0.0.1,用户名为 sa,密码为 YourStrong@Passw0rd,然后就可以连接刚才部署的 SQL Server 数据库实例了。 新建 SQL 查询,返回服务器上所有数据库的名称: SELECT Name from sys.databases; ...
Ferora 41 日常使用和常用软件安装
心血来潮(闲来无事),为自己的电脑安装了 Ferora 41 系统并在日常学习和生活中使用。个人认为 Ferora 是一个非常精致和稳定的系统,这个使用过程几乎没出现什么问题和错误。 这里记录一下 Ferora 41 系统上的相关软件使用。 常用软件安装 Gnome 扩展 sudo yum install gnome-tweak-tool sudo yum install gnome-extensions-app sudo yum install gnome-shell-extension-dash-to-dock 这里推荐两个扩展,Dash to Dock (应用 Dock 栏)和 Tray Icons: Reloaded (应用托盘)。 如果不安装 Tray Icons: Reloaded 应用托盘扩展,QQ 等应用关闭后会一直在在后台运行,再次打开无法在打开此前界面而是打开新实例,只能 killall qq 强制关闭全部后台。 QQ 和微信: QQ 和微信官网都有提供 rpm 下载,直接安装即可。 sudo yum install ./QQ_3.2.13_241121_x86_64_01.rpm sudo yum install ./WeChatLinux_x86_64.rpm #修复微信依赖库找不到的报错 sudo ln -s /usr/lib64/libbz2.so.1 /usr/lib64/libbz2.so.1.0 Microsoft Office 2016 通过 PlayOnLinux 安装,但是不能使用 PlayOnLinux 自带的安装策略(我没成功),得按照下面这个视频教程操作。 ...
香橙派 ONE OTG 切换方法
全志 CPU OTG 模式切换的方法和晶晨、 瑞芯微不同,我一次接触这块开发板时产生了误解,现将切换方法记录如下。此方法适用于香橙派 ONE 和 香橙派 ZERO 等使用 h2+/h3 CPU 的开发板。 #我遇到的两种情况 #通过 echo 写入数字(0,1,2,不同数字代表不同模式) echo 0 > /sys/bus/platform/devices/sunxi_usb_udc/otg_role #直接 echo 写入 otg 模式 echo peripheral > /sys/devices/platform/soc/1c19000.usb/musb-hdrc.2.auto/mode 最近入手了一块香橙派 one,一系列测试后发现官方的高 Linux 系统中无法使用 OTG,没找到 OTG 与 Docker 共存的办法,非常可惜。 因为官方产品介绍上写明了开发板有一个 USB OTG 端口,测试前还是信心满满的。然而使用手册上 Linux 系统使用说明一节却没找到关于 OTG 的使用说明,这时候我产生了一些疑惑,心悬了起来。 在自己安装不同系统测试后,悬着的心终于死了。 测试结果如下: 官方 5.4.65 内核和 Armbian 社区 6.6.44 内核无法使用 OTG,无法控制 USB 端口模式 官方 3.4.113 内核可以使用 OTG,但无法安装 Docker #官方 3.4.113 内核使能 OTG echo 2 > /sys/bus/platform/devices/sunxi_usb_udc/otg_role ...