/dev/null " />

[转帖]什么是pagecache/dentries/inodes?

什么,pagecache,dentries,inodes · 浏览次数 : 0

小编点评

**内存缓存目录结构** 内存缓存目录结构是一种用于构建内存高速缓存的目录结构。该结构包含以下两个数据结构: * **inode**:表示文件的数据结构 * **dentries**:表示目录的数据结构 **如何释放pagecache/dentries/inodes** 为了释放 pagecache/dentries/inodes,可以使用以下命令: ```bash echo 1 > /proc/sys/vm/drop_caches echo 2 > /proc/sys/vm/drop_caches echo 3 > /proc/sys/vm/drop_caches ``` **其他** * page cache 可以包含任何与文件相关的内存映射。 * 由于 page cache 是内存中的,因此释放页面时需要释放所有指向它的内存映射。

正文

https://ixyzero.com/blog/archives/3233.html

 


 

=Start=

缘由:

最近因为新上了一个扫描功能导致大范围内的机器告警,新上的功能代码其实非常简单:

find / -type f -name "ffmpeg" -executable 2>/dev/null

因为ffmpeg安装路径的不确定性,所以使用了全盘扫描的办法,虽然之前有考虑过这样会对线上的部分机器产生影响,但是说实话,没想到影响这么大。。。

而且最诡异的地方在于,同一个命令对于不同的机器影响差别很大,有的基本没什么影响,有的服务器上面运行的服务可用性降低不少,而且更奇怪的地方在于——物理机的网络竟然也出现了问题。。。运气不好,这种事情让我撞上了,我只能这么安慰自己!

之前对pagecache/dentries/inodes这些知识有一定了解,但了解不深,趁着这次机会再好好学习一下,以后出现问题了也好快速定位。

正文:

参考解答:

It appears you are working with memory caching of directory structures. 当我们正在使用内存缓存目录结构时,

An inode in your context is a data structure that represents a file. A dentries is a data structure that represents a directory. 在这个上下文中的inode是表示文件的数据结构,而dentries是表示目录的数据结构

These structures could be used to build a memory cache that represents the file structure on a disk. To get a directly listing, the OS could go to the dentries–if the directory is there–list its contents (a series of inodes). If not there, go to the disk and read it into memory so that it can be used again. 这些结构可用于构建表示磁盘上的文件结构的内存高速缓存。为了直接获得列表,操作系统可以去dentries那里(如果目录在那里的话)列出其内容(一系列inode)。如果没有,则会去磁盘上将其读入内存,以便它可以再次使用。

The page cache could contain any memory mappings to blocks on disk. That could conceivably be buffered I/O, memory mapped files, paged areas of executables–anything that the OS could hold in memory from a file. 页面缓存(page cache)可以包含磁盘块的任何内存映射。这可以是缓冲I/O,内存映射文件,可执行文件的分页区域——操作系统可以从文件保存在内存中的任何内容。

==

如何释放pagecache/dentries/inodes
To free pagecache:
# echo 1 > /proc/sys/vm/drop_caches
 
To free dentries and inodes:
# echo 2 > /proc/sys/vm/drop_caches
 
To free pagecache, dentries and inodes:
# echo 3 > /proc/sys/vm/drop_caches
参考链接:

与[转帖]什么是pagecache/dentries/inodes?相似的内容:

[转帖]什么是pagecache/dentries/inodes?

https://ixyzero.com/blog/archives/3233.html =Start= 缘由: 最近因为新上了一个扫描功能导致大范围内的机器告警,新上的功能代码其实非常简单: find / -type f -name "ffmpeg" -executable 2>/dev/null

[转帖]什么是负载均衡?DNS如何实现负载均衡?

https://blog.csdn.net/weixin_53018687/category_11107683.html 在配置域名解析的时候,我们可以将一个域名指向多个IP吗?答案是可以的,这也是我们通过DNS实现负载均衡的常见做法。 一、什么是负载均衡? 一些大型的视频、游戏网站或应用,每时每刻

[转帖]什么是CDN?CDN的工作原理是怎样的?

1.什么是CDN? CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术

[转帖]什么是 istio

https://cizixs.com/2018/08/26/what-is-istio/ 如果你比较关注新兴技术的话,那么很可能在不同的地方听说过 istio,并且知道它和 service mesh 有着牵扯。这篇文章是我之前在公司内部做过的分享,可以作为了解 istio 的入门介绍,了解什么是 i

[转帖]什么是HBase?终于有人讲明白了

http://blog.itpub.net/70024420/viewspace-2929074/ 初识HBase HBase 是一个面向列式存储的分布式数据库,其设计思想来源于 Google 的 BigTable 论文。HBase 底层存储基于 HDFS 实现,集群的管理基于 ZooKeeper

[转帖]什么是RAID(独立磁盘冗余阵列)?

目录 什么是RAID(独立磁盘冗余阵列)? 什么是RAID? RAID 0 RAID 1 RAID 2 RAID 3 RAID 4 RAID 5 RAID 6 其他配置 RAID适合您吗? RAID 0,1,5,6,10 RAID级别0 –条带化 RAID 0的优点 RAID 0的缺点 理想用途 R

[转帖]什么是内存颗粒?

https://zhuanlan.zhihu.com/p/257999332 关于内存的基础知识和选购感兴趣的朋友看看这个 探讨内存基础知识和如何选择内存条12 赞同 · 5 评论文章 什么是内存颗粒? 晚上回去拆开机箱,把内存掰下来,狠心大力掰外开壳。 红色圈圈的黑色块状的东西就是内存颗粒 内存颗

[转帖]什么是 LLVM?Swift, Rust, Clang 等语言背后的支持

https://www.oschina.net/translate/what-is-llvm-the-power-behind-swift-rust-clang-and-more?print 要了解用于以编程方式生成机器原生代码的编译器框架是如何让新语言的推出以及对现有的语言进行增强比以往更加容易了

[转帖]什么是光纤?光纤的原理是什么?你能想象没有光纤通讯的世界么?

什么是光纤? 大量的光纤 光纤是光导纤维,是一种由玻璃或塑料制成的纤维,利用光在这些纤维中以全内反射原理传输的光传导工具 光纤有什么特点呢? 光纤如果封装在塑料保护套中,它就能够弯曲,也不会断裂,是一种极佳的信号传递工具光纤在传输过程中的损耗比电在电线中的损耗,要低很多,现在较好的光导纤维,其光传输

[转帖]什么是DPDK?DPDK的原理及学习学习路线总结

https://zhuanlan.zhihu.com/p/397919872 一、什么是DPDK 对于用户来说,它可能是一个性能出色的包数据处 理加速软件库;对于开发者来说,它可能是一个实践包处理新想法的创 新工场;对于性能调优者来说,它可能又是一个绝佳的成果分享平台。 DPDK用软件的方式在通用多