我正在尝试了解 nvme 的配置。
但我不明白为什么有两个设备:nvme 块和 nvme 字符设备:
crw------- 1 root root 243, 0 Dec 12 16:09 /dev/nvme0
brw-rw---- 1 root disk 259, 0 Jan 14 01:30 /dev/nvme0n1
Run Code Online (Sandbox Code Playgroud)
每个的目的是什么或何时使用它们?
我假设使用以下方法在 NFS 共享中复制文件:
流程一:
因此,从本地硬盘读取并写入NFS与从NFS读取并写入NFS几乎相同。
第一步,如果缓存已经存在,那么读取速度会非常快。
流程2:
因此,不涉及网络。因此,可以有更好的性能(除非网络端没有延迟),但它可能不是这样的。
如果我错了,请随时纠正我。
另外,内存是否涉及每个操作,我的意思是当它通过网络发送数据时,数据首先从磁盘发送到内存(数据缓冲区),然后从内存(数据缓冲区)发送到数据缓冲区(在网络的另一侧)网络),但不是从数据缓冲区到网络另一端的磁盘,对吗?
我需要在 NFS 共享上递归删除数百万个目录,为了避免任何性能问题,我运行了以下命令:
ionice -c 3 -t find /dir -type f -exec rm {};
这将删除所有文件和剩余的空目录,我可以使用 rm -rf 删除。
但我无法说 ionice 对上述命令是否有任何影响。
来自 man,ionice 3 级:
仅当没有其他程序在定义的宽限期内请求磁盘 io 时,以空闲 io 优先级运行的程序才会获得磁盘时间。空闲 io 进程对正常系统活动的影响应该为零。
从源代码中,我看到 ionice set ioprio_set。
那么,ioprio_set 是什么?
ioprio_get() 和 ioprio_set() 系统调用分别获取和设置一个或多个线程的 I/O 调度类和优先级。
这是否意味着进程线程带有额外的属性供 I/O 调度程序使用它们来调度进程的 I/O?
这向我提出了以下问题:
如果我完全错了,请纠正我。 …
我了解队列深度,即存储控制器可以处理的未完成 I/O 请求的数量(https://www.tomshardware.com/reviews/ssd-gaming-performance,2991-3.html)即,这是对处理 I/O 请求并将命令发送到磁盘 (r/w) 的存储控制器的限制,如果有超过它可以处理的请求(将由客户端重新提交),它(不严格?)会丢弃请求想必)。
并且具有高过期 I/O 请求的原因可能是多个客户端连接请求 I/O 或多个进程甚至来自请求 I/O 的单个主机(我认为,但似乎操作系统使用 I/O 调度程序合并 I/O O 请求 - 在执行定期或按需同步时源自缓冲区,并且仅发送固定数量的过期请求,以便它不会使存储设备过载?)
现在,来到 fio 手册页中 iodepth 的定义:
要针对文件保持运行的 I/O 单元数。请注意,将 iodepth 增加到 1 以上不会影响同步 ioengines(使用 verify_async 时的小度数除外)。
这符合我对队列深度的理解。如果 IO 是同步的(阻塞 IO),我们只能有一个队列。
即使是异步引擎也可能施加操作系统限制,导致无法实现所需的深度。在 Linux 上使用 libaio 并且未设置“direct=1”时可能会发生这种情况,因为缓冲 I/O 在该操作系统上不是异步的。
对这整个声明感到困惑。
密切关注 fio 输出中的 I/O 深度分布,以验证实现的深度是否符合预期。默认值:1。
我为每种 iodepth 和设备类型运行了多个测试,有 22 个并行作业,因为 CPU 数量为 24,并且使用 rwtype:顺序读取和顺序写入。Iodepths 是 1,16,256,1024,32768(我知道 32 或 64 应该是最大限制,我只是想尝试一下)。
对于所有深度和所有磁盘(RAID 6 SSD、NVME 和 NFS),结果几乎相同:除了在 32768 深度的 NVME 磁盘上顺序读取。
IO …Run Code Online (Sandbox Code Playgroud) 我知道 SNMP 是一种用于远程管理(查看/更新)系统资源信息的协议,而 LDAP 是一种用于访问和使用目录服务信息的协议。
但是这两种协议之间有任何关联吗?一个依赖另一个吗?如果我需要彻底了解 LDAP,我是否需要了解 SNMP?
我问这个的原因是我试图了解什么是 LDIF,在这里谈论它时,此页面中有 SNMP 语法的参考:https : //docs.oracle.com/cd/E10773_01/doc/oim.1014 /e10531/schema_overview.htm。
io ×2
nfs ×2
nvme ×2
block-device ×1
dd ×1
device ×1
ionice ×1
ldap ×1
memory ×1
performance ×1
scheduler ×1
scheduling ×1
snmp ×1
transfer ×1