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”是啥,它意味着啥潜在的优化?的主要内容,如果未能解决你的问题,请参考以下文章