给定一个 4KB 的块大小,当从磁盘读取一个 1KB 的文件并缓存在主存中时,是否缓存了包含该文件的整个 4KB 块?
同样,如果打开一个 100KB 的文件,在其中寻找 50KB,然后读取 1KB 的数据,那么主存中缓存的只是包含读取的 1KB 数据的 4KB 块而不是整个文件吗?
我假设 ext4 文件系统,但没有坚持下去。
给定一个 4KB 的块大小,当从磁盘读取一个 1KB 的文件并缓存在主存中时,是否缓存了包含该文件的整个 4KB 块?
同样,如果打开一个 100KB 的文件,在其中寻找 50KB,然后读取 1KB 的数据,那么主存中缓存的只是包含读取的 1KB 数据的 4KB 块而不是整个文件吗?
我假设 ext4 文件系统,但没有坚持下去。
/proc/net/netstat
和中有很长的统计数据列表/proc/net/snmp
,我认为这两个数据都来自 net-tools 项目。是否有关于这些领域的任何官方或非官方文件?或者甚至是有助于识别它们的网络术语的良好来源?
有些看起来很清楚:
SyncookiesSent
SyncookieFailed
TCPTimeouts
TCPKeepalive
其他不太清楚:
ActiveOpens
PassiveOpens
一些对我来说完全神秘的:
EmbryonicRsts
RcvPruned
... many more ...
更新:我在源代码中找到了定义,但仍然想知道这些描述的去向。它们是否在任何地方编译和发布?
我有一个单个卷的 CIFS 挂载,然后有 2 个子目录绑定挂载。启动时,systemd 抱怨“订购周期”并且无法挂载 1 个绑定,但另一个工作正常。如果我运行mount -a
,则会安装缺少的绑定。我已经能够在新的 VM 中重新创建此行为。
//server.example.com /mnt/media cifs [snip] 0 0
/mnt/media/secure /var/www/media/secure none bind 0 0
/mnt/media/public /var/www/media/public none bind 0 0
绑定挂载没有改变,这些是实际名称。我不知道如何,但是,我认为这可能很重要,可能是由于排序顺序,因为当我更改顺序时,fstab
只有public
绑定挂载失败。secure
总是有效。
Mar 19 14:06:45 ubuntu systemd[1]: local-fs.target: Found dependency on var-www-media-public.mount/start
Mar 19 14:06:45 ubuntu systemd[1]: local-fs.target: Found dependency on mnt-media.mount/start
Mar 19 14:06:45 ubuntu systemd[1]: local-fs.target: Found dependency on network-online.target/start
Mar 19 14:06:45 ubuntu systemd[1]: local-fs.target: Found dependency on networking.service/start
Mar 19 14:06:45 ubuntu systemd[1]: local-fs.target: Found dependency on local-fs.target/start
Mar 19 14:06:45 ubuntu systemd[1]: local-fs.target: Breaking ordering cycle by deleting job var-www-media-public.mount/start
Mar 19 14:06:45 ubuntu systemd[1]: var-www-media-public.mount: Job var-www-media-public.mount/start deleted to break ordering cycle starting with local-fs.target/start
我试过x-systemd.requires=/mnt/media
在绑定挂载上指定,但没有改变。我不知道下一步该去哪里解决这个问题。
Linux VM 运行 nginx(或任何其他具有稳定资源使用的轻量级守护程序)。虚拟机分配了 2GB 内存,其中 200-300MB 供操作系统和服务使用,其余用于文件缓存和缓冲区。在一个特定的用例中,我期望一个简单的 500MB 开销。
问:为什么这个设置需要交换空间?
“防止内存耗尽”的标准答案在这里对我来说没有意义,原因有两个:1:对内存的需求已经确立,不需要支持意外或突然的显着增加。2:无论如何,Swap只会延迟OOM情况。同样的事情可以通过首先为虚拟机分配更多的内存来完成,特别是因为它是精简配置的,只要它未被使用,任何人都不会错过它。
支持休眠的另一个常见答案不适用于 VM 中的服务器。
我认为没有理由在这样的服务器上进行交换;我错过了什么吗?