当前位置: 首页 > 科技资讯 > Linux引进新技术,Btrfs性能提升惊人!

Linux引进新技术,Btrfs性能提升惊人!

发布时间:2024-08-20 21:01:11 作者:001资源网 阅读:0次

2 月 21 日消息,SUSE 的 David Sterba 近日提交了适用于 Linux 6.3 的 Btrfs 驱动程序更新。和以往 Linux 内核开发周期一样,本次的 Btrfs Pull 进一步优化了性能,并引入了一些新的功能。

Linux 6.3大幅优化Btrfs性能,表现可提升3-10倍

本次驱动更新为 Linux 6.3 中的 Btrfs 引入了块组分配类(block group allocation class)算法,通过按照大小来打包文件,避免在块组中出现碎片。

Linux 6.2 中 Btrfs 改进了对 RAID5 和 RAID6 的可靠性,而在 Linux 6.3 中进一步展开代码清理和重构工作,以增强对上述两种 RAID 模式的支持。

附本次驱动 Pull 的主要内容:

性能

  • send:utimes 缓存目录,并且仅在必要时发出命令

  • 速度加快 10 倍

  • 最终生成的流更小(不会发出多余的 utimes 命令)

  • 不影响兼容性

  • fiemap:跳过共享 leaves 的 backref 检查

  • 在所有共享 leaves 的示例文件系统上加速 3 倍(例如在某些 snapshot 上)

  • 对 b-tree 键查找进行细节优化,加速元数据操作(样本测试:fs_mark 传输文件速度每秒提升 10%)

Linux系统下运行who命令及who自带的选项实例 | 了解谁在哪个终端上登录了系统

本文我们将介绍GNU coreutils软件包中捆绑的who命令,我们可以试着在Linux系统下运行who命令,及解释who自带的选项,附实例。who命令的定义很简单,它是一个命令行实用程序,可打印当前登录用户的列表,它还可以显示当前的运行级别,上次Linux系统引导的时间等。

运行who命令的必备基础

who命令的基本语法如下:

who [OPTION]... [ FILE | ARG1 ARG2 ]

1、在没有任何选项或参数的情况下调用时,输出看起来像这样:

who

在Linux系统下运行who命令及who自带的选项实例

who将输出当前登录系统的所有用户的格式化列表,上面还列举有root及所登陆的用户。

每行包含四个由一个或多个空格分隔的字段:

  •  登录用户的名称。
  •  用户的终端。
  •  用户登录的时间。
  •  用户登录的主机名或IP地址。要强制使用Ips,请使用--ips选项。

2、如果要打印列标题,请添加-H (--heading)选项:

who -h

在Linux系统下运行who命令及who自带的选项实例

该命令从/var/run/utmp文件中获取有关系统以及谁登录的信息。如果要使用另一个文件,请将文件路径传递给命令。

who接受两个非选项参数,当使用两个参数调用该命令时,该命令仅输出有关与当前用户关联的终端的信息。使用-m选项时,将显示相同的输出。

您可以使用任何两个参数:

  •  who am i
  •  who mom love
  •  who foo bar
  •  who -m

上面的每个命令将打印相同的信息:

在Linux系统下运行who命令及who自带的选项实例

3、who命令的选项

who接受几种通常很少使用的选项,以下是具体的实例。

  •  -b, --boot选项告诉who打印上次系统引导的时间:

who -b

在Linux系统下运行who命令及who自带的选项实例

  •  要获得所有无效进程的列表,请使用-d, --dead选项:

who -d

  •  -r, --runlevel选项告诉who显示当前运行级别:

who -r

在Linux系统下运行who命令及who自带的选项实例

  •  要仅获取用户名和当前登录的用户数,请使用-q, --count选项:

who -q

在Linux系统下运行who命令及who自带的选项实例

  •  -a, --all选项强制who打印所有信息:

who -a

在Linux系统下运行who命令及who自带的选项实例

结论

who命令显示所有当前登录用户的列表。

要获取有关当前登录用户的其他信息,请用w命令。

在Linux系统中安装免费第三方OneDrive客户端【2022最新版】

本文要安装的是OneDrive第三方免费客户端,可安装在Ubuntu/Debian、Fedora/CentOS、Arch Linux、deepin等Linux发行版上。

该客户端的特征

状态缓存。

使用Inotify进行实时文件监视。

断点续传。

支持OneDrive for Business(Office 365的一部分)。

共享文件夹(非企业)。

安装方法

依赖:libcurl、SQlite 3、Digital Mars D Compiler (DMD)。

针对Ubuntu/debian:

sudo apt install libcurl4-openssl-dev sudo apt install libsqlite3-dev

# ubuntu 18

sudo snap install --classic dmd && sudo snap install --classic dub

# ubuntu 17

sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring sudo apt-get update && sudo apt-get install dmd-compiler dub

针对Fedora/centos:

sudo yum install libcurl-devel sudo yum install sqlite-devel curl -fsS https://dlang.org/install.sh | bash -s dmd

针对arch Linux:

sudo pACMan -S curl sqlite dlang

附1:安装snap

sudo apt install snap

附2:DMD下载安装的脚本

curl -fsS https://dlang.org/install.sh | bash -s dmd

安装好依赖后执行以下命令:

git clone https://github.com/skilion/onedrive.git cd onedrive make sudo make install

注:安装完成后,需要从终端运行一次才能授权它,在终端中执行onedrive即可。系统将要求使用Web浏览器打开特定的链接,在该链接中,将必须登录到Microsoft帐户并授予应用程序访问文件的权限,授予权限后,将被重定向到空白页,将空白页的URI复制到应用程序中。

如何在Linux系统中安装OneDrive第三方免费客户端?

卸载的方法

sudo make uninstall

# 删除应用程序状态

rm -rf .config/onedrive

配置的方法

配置是可选的,默认情况下,所有文件都下载到~/OneDrive中,并且仅跳过隐藏文件。如果要更改默认值,可以将随附的配置文件复制并编辑到~/.config/onedrive目录中:

mkdir -p ~/.config/onedrive cp ./config ~/.config/onedrive/config nano ~/.config/onedrive/config

可用选项:

sync_dir:文件将被同步到的目录。

skip_file:与该模式匹配的任何文件或目录将在同步期间被跳过。

模式不区分大小写,*和?支持通配符,使用|分隔多个模式。

注意:更改skip_file后,必须通过执行onedrive --resync来执行完全同步。

1、选择性同步

选择性同步允许您仅同步特定的文件和目录,要启用选择性同步,请在~/.config/onedrive中创建一个名为sync_list的文件,文件的每一行代表从sync_dir开始的相对路径,在所有操作期间,将跳过与文件的任何行都不匹配的所有文件和目录,这是sync_list的示例:

Backup Documents/latest_report.docx Work/ProjectX notes.txt

注意:更改同步列表后,必须通过执行onedrive --resync来执行完全同步。

2、共享文件夹

与您共享的文件夹可以通过将其添加到OneDrive进行同步,为此,请打开“Onedrive”,转到共享文件列表,右键单击要同步的文件夹,然后单击“添加到我的OneDrive(Add to my OneDrive)”。

3、OneDrive服务

如果要自动同步文件,请启用并启动systemd服务:

systemctl --user enable onedrive systemctl --user start onedrive

要查看日志运行:

journalctl --user-unit onedrive -f

注意:Ubuntu仅从版本15.04开始支持systemd。

4、使用多个帐户

您可以运行指定不同配置目录的应用程序的多个实例,以处理多个OneDrive帐户。为此,可以使用--confdir参数,这是一个例子:

onedrive --monitor --confdir="~/.config/onedrivePersonal" & onedrive --monitor --confdir="~/.config/onedriveWork" &

注:

--monitor保持应用程序运行并监视更改。

&将应用程序置于后台,并使终端保持交互式。

渝ICP备20008086号-39 违法和不良信息举报/未成年人举报:linglingyihcn@163.com

CopyRight©2003-2018 违法和不良信息举报(12377) All Right Reserved