nodejs中的“T _fcntl$NOCANCEL”是啥,它意味着啥潜在的优化?

Posted

技术标签:

【中文标题】nodejs中的“T _fcntl$NOCANCEL”是啥,它意味着啥潜在的优化?【英文标题】:What is "T _fcntl$NOCANCEL" in nodejs, and what potential optimizations could it imply?nodejs中的“T _fcntl$NOCANCEL”是什么,它意味着什么潜在的优化? 【发布时间】:2019-09-16 23:36:33 【问题描述】:

经常(也许总是?),在分析 node.js 应用程序时,我看到列表顶部的神秘 T _fcntl$NOCANCEL 占用了最多的刻度。我当前的分析任务占用了将近 20% 的 CPU 时间。我知道这可能是指 POSIX fnctl 函数,但我不知道这实际上 意味着 什么在我的应用程序中发生。分析的“自下而上”输出不显示它有任何父调用者。

T _fcntl$NOCANCEL 是什么意思?这是否暗示可以进行任何典型的优化?有什么方法可以让我从探查器获得更详细的信息?

【问题讨论】:

【参考方案1】:

fnctl 是一个 POSIX 系统调用 (https://linux.die.net/man/2/fcntl),用于对文件句柄执行操作。这意味着您可能正在执行大量文件系统操作。如果您对减少它的使用感到好奇,您可以使用strace 来查看对fnctl 的调用实际上正在执行。

【讨论】:

以上是关于nodejs中的“T _fcntl$NOCANCEL”是啥,它意味着啥潜在的优化?的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs中的this

使用 NodeJs 中的 WebAudio API

NodeJS 中的“完成”属性是啥?

nodejs中的express啥意思

nodeJs初学--Nodejs中的querystring(查询字符串)模块

NodeJs中的异步