• 2024-04-05[转帖]Linux内存–零拷贝
    https://plantegg.github.io/2020/11/15/Linux%E5%86%85%E5%AD%98--%E9%9B%B6%E6%8B%B7%E8%B4%9D/ 本系列有如下几篇Linux内存问题汇总Linux内存–PageCacheLinux内存–管理和碎片Linux内存–HugePageLinux内存–零拷贝零拷贝“Zero-copy“describescomputeroper
  • 2024-03-17Linux开发:通过sendfile高效的拷贝文件数据
    如果想要将一个文件的内容拷贝到另一个文件中,常规的做法是读取源文件,然后再把内容写入到目的文件中:#include<fstream>#include<iostream>#include<string>#include<vector>usingnamespacestd;vector<string>readFile(conststring&filename){vector<stri
  • 2024-02-26零拷贝,mmap 和 sendFile
    传统的IOmmapmmap是一种内存映射技术,mmap相比于传统的IO来说,其实就是少了1次CPU拷贝而已,上图。sendFile在Linux中,提供sendFile函数,实现了零拷贝
  • 2023-10-25零拷贝
    零拷贝Refs用户缓冲区与内核缓冲区sendfileDMA,映射,零拷贝,JavaNIO传统IOcpu先从磁盘读取数据到内核缓冲区,然后拷贝到用户缓冲区。表现在代码中就是读取的时候先new一个buffer数组,然后读取进去。如图,其中上下文切换和CPU拷贝是零拷贝主要优化的点。一共四次上下文切
  • 2023-06-19php利用X-sendfile控制下载
    为了控制静态文件下载,一般方法需要PHP用file_get_contents读取文件,再传给客户端。节省资源的方法是利用nginx的x-sendfile模块,原理是nginx上设置一个特殊资源目录,客户端无法直接读取,需要经过php许可后才能下载。 1、设置nginxlocation/request/uri/{internal;alias/re
  • 2023-05-26nginx 配置中的sendfile 的作用
    http{...sendfileon...}sendfile配置的具体意思:设置为on表示,使用零拷贝技术来传输文件:sendfile,这样只需要2次上下文切换,和2次数据拷贝。设置为off表示,使用传统的文件传输技术:read+write,这时就需要4次上下文切换,和4次数据拷贝。当然,要使用sendfil
  • 2023-03-03零拷贝
    1.什么是零拷贝零拷贝是指计算机在执行IO操作的时候,CPU不需要将数据从一个存储区复制到另一个存储区,进而减少上下文切换以及CPU拷贝的时间,这是一种IO操作优化技
  • 2023-02-18【操作系统】操作系统IO技术底层机制和ZeroCopy
    1.DMA技术详解(1)应用程序从磁盘读写数据的时序图(未用DMA技术前)(2)什么是DMA技术(DirectMemoryAccess)直接内存访问,直接内存访问是计算机科学中的一种内存访问技术。DMA之
  • 2022-11-25Linux 零拷贝技术-mmap与sendFile
    零拷贝是网络编程的关键,很多性能优化都离不开数据角度分析:在零拷贝机制中,整个数据在内存中只有一份数据,非零拷贝机制中,内核缓冲区,用户缓冲区,Socket
  • 2022-11-18Windows安装fdfs_client_py_master.zip
    1.解压进入fdfs_client-py-master\fdfs_client目录下的storage_client.py注释fromfdfs_client.sendfileimport*importos,statimportstructimportsocketi
  • 2022-10-10sendfile 系统调用
     Linux"零拷贝"sendfile函数中文说明及实际操作分析 Sendfile函数说明 #include<sys/sendfile.h>ssize_tsendfile(intout_fd,intin_fd,off_t*offset,siz
  • 2022-08-29apache 设置中的两个指令 EnableMMAP/EnableSendfile
    apache设置中的两个指令EnableMMAP/EnableSendfile-unixboy-ITeye博客 https://www.iteye.com/blog/unixboy-702040apache中的目录为windows共享文件夹时,出