如何释放由eventfd / eventpoll / timerfd创建的匿名索引节点?

时间:2019-04-23 14:48:35

标签: linux inode google-benchmark

我正在尝试使用Google Benchmark来衡量API。它处理客户端/服务器代码。 Google Benchmark应用程序多次运行setUp()TearDown()对,以适当的方式测量时间。客户端/服务器通过TCP传输工作。

问题: 在一个进程(Google Benchmark)内,客户端将重新启动多次。这会导致存在残留的匿名inode,结果我得到一个错误

  

epoll:打开的文件太多

当我尝试lsof | grep“ a_inode”,我看到由eventfd / eventpoll / filefd创建的所有匿名索引节点都处于打开状态。

  

COMMAND PID TID用户FD类型设备大小/关闭节点名称

     

gbench 6514 6517 Boarnerges 1020u a_inode 0,13 0 9567 [eventfd]

     

gbench 6514 6517 Boarnerges 1021u a_inode 0,13 0 9567 [eventpoll]

     

gbench 6514 6517 Boarnerges 1022u a_inode 0,13 0 9567 [timerfd]

     

gbench 6514 6520 boarnerges cwd DIR 8,1 4096 543203 / home / boarnerges / project_GoogleBenchmark / build

     

gbench 6514 6520 Boarnerges rtd DIR 8,1 4096 2 /

     

gbench 6514 6520 boarnerges txt REG 8,1 2494784 949699 / home / boarnerges / project_GoogleBenchmark / build / tests / tests / GBenchmarkTests / benchmark_client / it_gbenchmark_client

如何解决此问题?可以从进程内部释放匿名索引节点吗?

0 个答案:

没有答案