腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
具有非阻塞套接字的Kqueue/epoll (FreeBSD/
Linux
):写入/发送/sendto之后什么时候可以释放
缓冲
区内存?
、
、
、
、
是正确的,如果写/发送/发送返回接受的字节数,并且这个数字等于
缓冲
区大小,我可以立即释放
缓冲
区内存吗?或者我必须等待EVFILT_
WRITE
(kqueue)或EPOLLOUT (
Linux
)事件来释放
缓冲
区的内存?是否正确:如果写/发送/发送返回接受的字节数,并且这个数字不等于
缓冲
区大小,我只能释放立即接受的字节,并且必须等待EVFILT_
WRITE
(kqueue)或EPOLLOUT (
Linux
)事件才能继
浏览 3
提问于2019-10-23
得票数 0
1
回答
当使用stdio库时,它有3级
缓冲
,还是2级
缓冲
?
、
、
来自
Linux
编程接口:(我已经阅读了相关章节。我贴了这张总结图只是为了说明。)我知道对于使用read和
write
系统调用的直接IO。有两个级别的
缓冲
。read/
write
buffer + kernel buffer。当使用建立在直接系统IO调用之上的stdio库调用时,或 stdio和
write
/read共享相同的<em
浏览 0
提问于2020-03-12
得票数 2
回答已采纳
5
回答
'
write
‘函数合适的
缓冲
区大小是多少?
、
、
、
我正在使用低级I/O函数'
write
‘在我的代码(
Linux
上的C语言)中将一些数据写入磁盘。首先,我在内存
缓冲
区中累积数据,然后在
缓冲
区已满时使用“
write
”将数据写入磁盘。那么'
write
‘的最佳
缓冲
区大小是多少?根据我的测试,它不是越大越快,所以我在这里寻找答案。
浏览 4
提问于2012-03-12
得票数 16
回答已采纳
1
回答
在存在磁盘缓存的情况下,fwrite() vs
write
()
、
、
、
、
我读了很少关于流是如何被
缓冲
的文章,所以fwrite()通常是
缓冲
流。另一方面,写()不会被
缓冲
。 我还研究了关于磁盘缓存的文章,以及
Linux
如何大量使用它来显著提高磁盘性能。因此,在存在磁盘
缓冲
的情况下,
Linux
默认情况下不应该让fwrite()和
write
()呈现相同的性能吗?fwrite()正在做的是“
缓冲
已经
缓冲
的磁盘”!这不会给我们带来巨大的刺激。
浏览 4
提问于2015-04-21
得票数 3
回答已采纳
2
回答
如何绕过内存/缓存/
缓冲
IO,确保数据到达存储?
、
、
、
在
Linux
中,如何确保我的系统
write
()调用(以及类似的
write
-IO调用/变体)绕过内存/缓存/
缓冲
IO到达非易失性存储?
浏览 4
提问于2013-01-18
得票数 1
回答已采纳
4
回答
Windows系统中是否有无
缓冲
的I/O?
、
、
、
、
我希望找到没有
缓冲
区的低级C/C++ API,相当于
linux
系统中的"
write
“。有吗?
缓冲
的I/O,如fread,fwrite不是我想要的。
浏览 2
提问于2009-03-31
得票数 10
回答已采纳
2
回答
如何在非阻塞套接字上设置发送超时?
、
、
我在理解
Linux
中套接字的工作原理时遇到了一些问题。setsockopt(sockfd, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(int));
write
=
write
(sockfd, buf, len);在上面的代码中,当写入被
缓冲
时,发送超时没有任何意义(当用户空间
缓冲
区被复制到内核
缓冲
区时,
write
系统调用将立即返回)。发送
缓冲
区大小是更重要的参数,但发送超时似乎没有任何意义。但我肯定错了
浏览 1
提问于2012-11-26
得票数 8
回答已采纳
2
回答
高效的
Linux
套接字(DMA/零拷贝)
、
、
我正在构建一个非常高性能的
Linux
服务器(基于epoll、非阻塞套接字和基于IO _submit/io_getevents/eventfd的异步磁盘io)。特别是,我关注的是从用户空间
缓冲
区到网卡的数据,以及从网卡返回到用户空间
缓冲
区的数据(现在让我们忽略sendfile调用)。据我所知,在非阻塞
Linux
套接字上调用read/
write
并不是完全异步的-系统调用在将
缓冲
区从用户空间复制到内核(或者反过来)时阻塞,然后才返回。有没有办法避免这种情况在<em
浏览 4
提问于2009-12-02
得票数 32
4
回答
I/O触发信号处理程序
、
在
Linux
上使用C时,我如何在每次使用
write
()函数将数据写入
缓冲
区时触发信号处理程序。处理程序将在执行时读取写入
缓冲
区的所有数据。
浏览 4
提问于2010-03-30
得票数 4
回答已采纳
3
回答
通过HTTP连接提供文件的java
、
、
我有以下代码(Server是Tomcat/
Linux
)。FileInputStream(sendFile);int readBlockSize;int totalBytes=0;while ((readBlockSize=fin.available())>0) { byte[]
缓冲
器=新bytereadBlockSize;fin.read(
缓冲
器,0,readBlockSize);outStream.
write
(
缓冲
区,0,readBlockSize);totalBytes+=readBl
浏览 8
提问于2010-10-20
得票数 0
2
回答
对用O_DIRECT打开的文件执行'
write
‘操作后的用户
缓冲
区
、
、
、
我使用O_DIRECT标志直接从用户
缓冲
区写入磁盘。但据我所知,
Linux
不能保证在这个调用之后,数据会被写入。它只是使用DMA或其他任何东西直接从用户
缓冲
区写入物理设备...因此,我不知道在调用“
write
”函数后是否可以写入用户
缓冲
区。., O_DIRECT);memset(user_buff, 0, ...) 最后一行(memset)合法吗?写入DMA可能用来向设备传输数据的用户
缓冲
区是否有效?
浏览 4
提问于2012-12-01
得票数 3
2
回答
当通过套接字发送数据时,发送/写入何时返回-1?
、
、
、
Linux
。Tcp套接字。是否仅当内核中的TCP发送
缓冲
区溢出时才返回-1?
浏览 4
提问于2010-11-11
得票数 1
回答已采纳
2
回答
Linux
设备驱动程序的行为不符合预期
、
、
该驱动程序包含以下库和全局变量:#include <
linux
/module.h>#include <
linux
/init.h>#include <
linux
/device.h> #include <<
浏览 18
提问于2021-05-17
得票数 0
1
回答
冲洗Twisted的写
缓冲
器
、
、
、
扭曲的Connection类继承了抽象类FileDescriptor的
write
方法。正如您可以看到的,类有一个
缓冲
区,直到
缓冲
字节的总数大于bufferSize (FileDescriptor类中的属性)时,
缓冲
区才会被刷新。为了满足我的具体需要,我希望尽快将数据写入套接字,因此我希望避免在传输的任何一点上
缓冲
它们。我已经将TCP_NODELAY设置为套接字,但是在Twisted的
write
调用时数据仍然是
缓冲
的。我总是在doWrite后面调用
write</e
浏览 1
提问于2015-03-06
得票数 0
回答已采纳
1
回答
在
Linux
系统调用
write
()上使用格式说明符
、
、
、
我正在尝试仅使用手册()第2节中描述的
Linux
系统调用来写入stdout。ssize_t
write
(int fd, const void *buf, size_t count);char *adjective = argv[1];
write
(1, "This is a %s example\n", adjective, 19 + strlen(adjective另外,我知道strlen()不是
Linu
浏览 0
提问于2017-10-12
得票数 2
4
回答
用户空间
缓冲
区和内核
缓冲
区
、
、
我最近正在研究
linux
中的文件系统。我了解到,当我们调用fopen()时,库调用将调用malloc()来为文件结构分配空间,并且在该文件结构内将有一个用于I/O的
缓冲
区。但是后来我发现
write
系统调用实际上是将数据写入内核
缓冲
区,那么这两个
缓冲
区有什么不同呢?
浏览 1
提问于2015-11-10
得票数 6
1
回答
当值直接从
缓冲
区复制时,strscp将永远循环。
、
、
问题#include <
linux
/fs.h>#include <
linux
/kernel.h>#include <
linux
/module.h>
浏览 1
提问于2021-06-30
得票数 0
回答已采纳
1
回答
测试SocketChannel NIO
、
、
、
、
我刚刚写了一些NIO代码,想知道如何对我的实现进行压力测试 是否有像telnet这样的简单
linux
实用程序来打开带有
缓冲
选项的ServerSocket
浏览 4
提问于2010-05-25
得票数 2
回答已采纳
1
回答
Python3打开
缓冲
参数看起来很奇怪
、
、
来自
缓冲
是一个可选的整数,用于设置
缓冲
策略。传递0以关闭
缓冲
(仅在二进制模式下允许),1选择行
缓冲
(仅在文本模式中可用),以及整数>1以字节表示固定大小块
缓冲
区的大小。我用文本模式打开一个名为test.log的文件,并将
缓冲
设置为16。因此,我认为块大小为16,并且当我向该文件写入32字节字符串时。它将调用
write
(syscall)两次。但实际上,它只调用了一次。(在
Linux
上用Python3.7.2 GCC 8.2.1 20181127
浏览 0
提问于2019-03-26
得票数 4
回答已采纳
2
回答
系统调用开销
、
、
、
在
Linux
上运行C程序的I/O syscall开销有多大,我的意思是在大
缓冲
区(常规文件或网络套接字)上运行许多小的read /
write
操作与read /
write
相比有多糟糕?
浏览 2
提问于2011-11-24
得票数 6
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux 6.1 迎来 Btrfs 异步缓冲写入补丁,吞吐量翻倍
Libc Realpath缓冲区下溢漏洞,可导致Linux本地提权
从数字签名到数字证书,all I write is now……
详解MySQL性能指标及计算方法
谷歌 Gmail内AI 工具升级至“Help me write”
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券