Linux设置swap虚拟内存 zram内存教程

Linux上添加swap命令:cd /usrmkdir swapdd if=/dev/zero of=/usr/swap/swapfile bs=1M count=4096mkswap /usr/swap/swapfileswapon /usr/swap/swapfileecho "/usr/swap/swapfile swap swap defaults 0 0" >> /etc/fstabreboot请注意,这些命令可能需要 root 权限才能执行。若报错:swapon: command not found,则可能是无配置环境变量,可以尝试以下方法:使用 sudo 命令获取 root 权限,例如 sudo swapon /usr/swap/swapfile使用 swapon 命令的完整路径,例如 /sbin/swapon /usr/swap/swapfile可以编写成脚本,例如swap.sh#!/usr/bin/env bash#root执行记得给这个脚本chmod -R 777权限不然执行不了。#修改交换空间大小1G 500M 自行修改sudo fallocate -l 0.5G /swapfile chmod 600 /swapfilemkswap /swapfileswapon /swapfile#交换空间使用权重sysctl vm.swappiness=100#开机启用交换空间echo '/swapfile swap swap defaults 0 0' >> /etc/fstabbtrfs linux上添加swap如果系统是btrfs则需要按照以下注意事项操作:自 5.0 内核之后,Btrfs 才支持创建 Swapfile ,而且有一些特别的要求:Swapfile 不能放在 snapshotted subvolume (快照子卷)上。不支持跨多设备文件系统上的 Swapfile 。所以正确的做法是:新建一个 non-snapshotted subvolume ,然后在该子卷之下创建禁用压缩的 Swapfile 。[psiace@fedora /]$ cd /# 创建 non-snapshotted subvolume 。[psiace@fedora /]$ sudo btrfs subvolume create swapCreate subvolume './swap'# 进入子卷。[psiace@fedora /]$ cd swap# 新建长度为 0 的 Swapfile 。[psiace@fedora swap]$ sudo truncate -s 0 ./swapfile# 设置交换文件的属性,使其免于 copy-on-write 。[psiace@fedora swap]$ sudo chattr +C ./swapfile# 禁用压缩。[psiace@fedora swap]$ sudo btrfs property set ./swapfile compression none设定 Swapfile 作为 Swap 成分之一:# 将 Swapfile 填充至合适的大小,一般选择内存空间的一半或者与内存空间相当。# 这里仅仅是为了好玩,选择了巨量的 32GiB ,有浪费之嫌。[psiace@fedora swap]$ sudo dd if=/dev/zero of=./swapfile bs=1M count=32768 status=progress33980153856字节(34 GB,32 GiB)已复制,20 s,1.7 GB/s记录了32768+0 的读入记录了32768+0 的写出34359738368字节(34 GB,32 GiB)已复制,21.2624 s,1.6 GB/s# 设置正确的权限。[psiace@fedora swap]$ sudo chmod 600 ./swapfile# 格式化 Swapfile 作为交换类型。[psiace@fedora swap]$ sudo mkswap ./swapfile正在设置交换空间版本 1,大小 = 32 GiB (34359734272 个字节)无标签,UUID=2e48f371-62a9-487a-9613-382b386b2836# 激活交换文件,并设定优先级。# 由于 zram 的优先级是 100 ,所以这里设定成 50 。毕竟 zram 的性能比 swapfile 要强不少。[psiace@fedora swap]$ sudo swapon --priority 50 ./swapfile检查 Swap 空间并设置自动挂载# 使用 free 查看概览。[psiace@fedora ~]$ free -m total used free shared buff/cache availableMem: 15453 5206 290 109 9956 9808Swap: 40959 2 40957# 使用 swapon 查看详情。[psiace@fedora ~]$ swapon -sFilename Type Size Used Priority/dev/zram0 partition 8388604 2560 100/swap/swapfile file 33554428 0 50# 编辑 fstab ,添加指定条目以完成挂载。# 这里必须带上子卷名,UUID 可以不写。[psiace@fedora ~]$ sudo nano /etc/fstab/swap/swapfile none swap defaults 0 0如果设置后swap没有用开机自启,注意上述命令的swap路径是否与实际一致,本文是在根目录做的示例。以上代码改成bash脚本放文件一键执行:#!/usr/bin/env bash#root执行记得给这个脚本chmod -R 777权限不然执行不了。#修改交换空间大小1G 500M 自行修改sudo btrfs subvolume create /swapsudo truncate -s 0 /swap/swapfilesudo chattr +C /swap/swapfilesudo btrfs property set /swap/swapfile compression none# 这里设置swap大小 512M自行修改sudo dd if=/dev/zero of=/swap/swapfile bs=1M count=512 status=progresssudo chmod 600 /swap/swapfilesudo mkswap /swap/swapfilesudo swapon --priority 50 /swap/swapfileecho '/swap/swapfile none swap defaults 0 0' >> /etc/fstab新建好的文件例如命名为swap.sh,记得用chmod 777 ./swap.sh文件授权即可来源:在 Fedora 上为 Btrfs 新建 32GiB SwapfileLinux上设置zram效率比swap更高点,建议设置在终端中输入 sudo modprobe zram 来加载 zram 模块(省略)在终端中输入 sudo swapoff /dev/zram0 来关闭 zram0输入 sudo zramctl --reset /dev/zram0 来重置 zram0sudo zramctl --find创建一个新的 zram 设备,它会返回一个设备名,例如 /dev/zram0输入 sudo zramctl --size 1024M /dev/zram0 来设置该设备的大小输入 sudo mkswap /dev/zram0 来创建交换分区输入 sudo swapon /dev/zram0 来开启 zram0shell脚本,直接复制到命令行执行即可:sudo swapoff /dev/zram0;sudo zramctl --reset /dev/zram0;sudo zramctl --find;sudo zramctl --size 512M /dev/zram0;sudo mkswap /dev/zram0;sudo swapon /dev/zram0;/usr/bin/init-zram-swapping 是一个脚本文件,它用于在 Ubuntu 系统中初始化和配置 zram 交换分区12。这个脚本的内容大致如下

Tabby开源终端工具,star过万

Tabby(原名 Terminus)是一个高度可配置的终端模拟器、SSH 和串行客户端,适用于 Windows、macOS 和 Linux。下载地址:https://github.com/Eugeny/tabby/releases类似软件:全能终端神器 MobaXterm 免费SSH工具推荐FinalShell 免费国产ssh控制工具菜单Appearance:设置Terminal字体及大小,设置Terminal背景色是否跟随主题或者颜色模板,光标样式,Custom CSS则设置自定义的样式,可以改变Tabby本身UI显示。Profiles & connections:这里就是管理连接的地方(Connection Manager管理功能)。Terminal:设置本地终端的一些功能,包括剪贴板行为,如Copy on select,意思就是鼠标选择文本后就复制;另外两个选项:一个是启动时打开一个终端;一个是启动时恢复上一次的终端(这个选项不太好用,在我的系统上打开后,键盘输入没有任何反应,应该是个Bug)。Color Scheme:设置终端显示的颜色样式,已经内置了很多种,也可以点击Edit修改颜色样式。其他有Config sync(配置同步,支持github或gitee),Hotkeys(快捷键设置),Plugins(插件),Save Output(保存终端输出内容到文件,需要安装插件),SSH(远程连接,需要安装插件,必装),Vault(密码托管),Window(窗体样式、主题设置等等)插件SSH插件是必装的,否则无法管理和使用ssh远程维护。选择Plugins菜单——>Available——>SSH点击Get,随后安装成功后会提示你重启Tabby。在Plugins里面,大家可以自行查看哪些插件适合自己,选择安装即可。安装好SSH插件后,就可以管理我们的远程连接了。在Settings里面点击Profiles & connections或者点击顶部“+”号右边的按钮,选择Manage profiles就打开管理选项了。点击“New profile”,选择“SSH connection”弹出对话框,输入名称,Group处可以选择已有的组,也可以输入新的组名称;输入地址和端口,用户名,选择验证方法(如果有双因素验证,一般选Auto可以正常工作),如下图点击“Advance”选项或者“login scripts”可以设置高级选项,或者登陆脚本。在高级选项中有一项Ready Timeout,默认是20秒,可以适当调大(在双因素认证中有帮助,如果太短,还没来得及输入验证码就会超时断开连接)。最后点击Save保存配置即可。来源:https://zhuanlan.zhihu.com/p/444273614

Tabby开源终端工具,star过万

Linux用户、组、权限常用命令详解教程

Linux用户、组、权限常用命令常见命令查看当前⽤户: whoami查看系统用户信息:cat /etc/passwd切换用户:su temp01(用户名)切换用户且跳到主目录:su - 用户名ps:切换root用户可省略root,例如su、su -进入当前用户目录:cd ~退出登陆用户:exit(如是图形界面则退出终端,若ssh远程登陆则退出远程,若切换后用户则退回到切换前用户)修改用户密码:sudo passwd temp01删除用户:userdel abc(⽤户名)删除用户同时删除主目录:userdel -r abc(⽤户名)whowho命令⽤于查看当前所有登录系统的⽤户信息。 选项含义-m或am I只显示运⾏who命令的⽤户名、 登录终端和登录时间-q或–count只显示⽤户的登录账号和登录⽤户的数量-u或–heading显示列标题辨别普通用户、root用户最简单方式,看命令行前$普通用户,#为root用户添加用户adduser或useradd命令,adduser为useradd的链接,因此使用格式一致,使用useradd [参数] 用户名参数含义-d指定⽤户登录系统时的主⽬录, 如果不使⽤该参数, 系统⾃动在/home⽬录下建⽴与⽤户名同名⽬录为主⽬录-m⾃动建⽴⽬录-g指定组名称Linux每个⽤户都要有⼀个主⽬录, 主⽬录就是第⼀次登陆系统, ⽤户的默认当前⽬录(/home/⽤户),一般⽤户的主⽬录和⽤户名是相同的; 每⼀个⽤户必须有⼀个主⽬录, 所以⽤useradd创建⽤户的时候, ⼀定给⽤户指定⼀个主⽬录,如果不手动指定,系统会自动建立与用户名同名主目录; 如果创建⽤户的时候, 不指定组名, 那么系统会⾃动创建⼀个和⽤户名⼀样的组名。 例如:​ useradd -d /home/abc abc -m:创建abc⽤户, 如果/home/abc⽬录不存在, 就⾃动创建这个⽬录, 同时⽤户属于abc组。​ useradd -d /home/a a -g test -m:创建用户a且归属为test组。用户组查看组cat /etc/group | grep xxx或groupmod +三次tab键查看用户所在组groups 用户名添加、删除组新建组账号:sudo groupadd yonghuzu1删除组账号:sudo groupdel yonghuzu1修改用户所在组usermod -g ⽤户组 ⽤户名普通用户添加sudo权限新加的用户默认是没有sudo权限的,需要手动添加sudo usermod -a -G adm ⽤户名sudo usermod -a -G sudo ⽤户名-g与-G区别-g ⽤来制定这个⽤户默认的⽤户组-G ⼀般配合'-a'来完成向其它组添加个人觉得区别不是很大,大G的组往往显示在groups user的第二个位置,例如:[root@VM-16-5-centos abc]# usermod -g yonghuzu1 abc[root@VM-16-5-centos abc]# groups abc abc : yonghuzu1 abc[root@VM-16-5-centos abc]# chmod 修改文件权限字⺟法 chmod u/g/o/a +/-/= rwx ⽂件 [ u/g/o/a ]含义uuser 表示该⽂件的所有者ggroup 表示与该⽂件的所有者属于同⼀组( group )者, 即⽤户组oother 表示其他以外的⼈aall 表示这三者皆是[ +-= ]含义+增加权限-撤销权限=设定权限rwx含义rread 表示可读取, 对于⼀个⽬录, 如果没有r权限, 那么就意味着不能通过 ls查看这个⽬录的内容。wwrite 表示可写⼊, 对于⼀个⽬录, 如果没有w权限, 那么就意味着不能在 ⽬录下创建新的⽂件。xexcute 表示可执⾏, 对于⼀个⽬录, 如果没有x权限, 那么就意味着不能通 过cd进⼊这个⽬录。文件列rwx解析例如-rwxrwxrwx 1 root root 114 Jun 15 16:37 md.sh-rw------- 1 root root 10785 Jun 15 16:38 nohup.outdrwxr-xr-x 3 root root 4096 Apr 27 02:17 seadrwxrwxrwx 10 root root 4096 Nov 28 2021 wizdata①第一部分rw-属于文件的所属者,代表所属者可以访问并修改,但不能执行②第二部分r–属于文件的所属组,代表这个用户组可以访问,但不能修改和执行③第三部分r–属于其他用户,代表其他用户仅可以访问此文件或目录,但不能进行修改和执行操作④没有权限的用-来表示最前面的d或-指代含义如下:-就是普通的文件,d表示是目录, c表示是字符设备(在linux/unix,所有的设备都是文件),b是块设备文件, s是socket文件等。我们可以通过首字母判断ll列表文件到底属于什么类型。ll命令缺失如果查看文件详细列表命令ll缺失可用ls -l代替。ls -lh可以更直白显示大小单位。数字法一个文件的权限可以用-rw-r–r–来表示,也可以用数字644来表示。它们之间的转化可以这么表示:r用数字4表示,w用2表示,x用1表示,那么-rw-r–r–的rw-就可以表示为6,r–就是4,连起来就是644。字⺟说明r读取权限, 数字代号为 “4”w写⼊权限, 数字代号为 “2”x执⾏权限, 数字代号为 “1”-不具任何权限, 数字代号为 “0”使用格式//多个设置用逗号隔开,字母数字皆可。chmod u=rwx,g=rx,o=r filename等同于: chmod u=7,g=5,o=4 filename等同:chmod 754 filechmod u+x 1.txtchmod 644 2.txt//如果想递归所有⽬录加上相同权限, 需要加上参数“ -R ”,建议在目录后增加可读性。递归 test ⽬录下所有⽂件加 777 权限,如: chmod 777 test/ -Rchown修改文件所有者格式:chown 用户名 文件权限不足需在前面加sudochgrp修改文件所属组格式:chgrp 用户名 文件

Linux用户、组、权限常用命令详解教程