首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在繁重的磁盘IO期间,sssd_nss的高CPU使用率

在繁重的磁盘IO期间,sssd_nss的高CPU使用率
EN

Stack Overflow用户
提问于 2018-04-03 04:04:26
回答 1查看 4.5K关注 0票数 3

我在Oracle Enterprise Linux 7u2上执行频繁、繁重的maven构建,这会生成大量jars/wars/ears。我最近注意到(在一些meltdown / spectre补丁之后)这个过程占用了非常多的CPU:

/usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --debug-to-files

当我的服务器空闲时?没问题。但是在我的maven构建的大量磁盘IO部分,maven java进程和sssd_nss争抢CPU,各占50%。(作为参考,我有一个4核Xeon服务器)

我真的不知道这个过程是什么(除了它可能处理LDAP?)或者为什么它会关心java文件复制和压缩。(这些都在本地/非NFS磁盘上)

EN

回答 1

Stack Overflow用户

发布于 2018-04-07 14:48:35

sssd_nss是从诸如LDAP之类的下游服务提取用户/组信息请求的守护进程。它实际上并不执行查找,而是向执行此操作的服务发出请求,首先检查本地磁盘缓存。

这让我认为繁重的I/O部分正在围绕用户和组执行大量操作(例如,在用户名中查找UID,在组中查找UID)。

您还应该检查高sssd_nss CPU是否为IOWAIT。这将表明您确实在执行大量用户/组查询,但不知何故,这些查询被磁盘I/O阻塞了。您可以使用top查看整个系统的IOWAIT (查找wa),使用iotop获取每个进程的指标。

如果主要是IOWAIT,您可能需要单独添加I/O容量,或者将构建卷与系统卷分开。我怀疑这是你的问题的根本原因。

你提到这是在meltdown/幽灵补丁之后发生的。这可能表明构建过程在sssd_nss中启动了大量系统调用,这些系统调用现在使用这些补丁时速度会变慢。您可能希望查看构建过程,查看是否存在不必要的与用户/组相关的命令。您可以使用strace -p $pid_of_sssd_nssuse sysdig for even fancier analysis查看正在调用的系统调用。如果该服务正在执行大量的系统调用,请查看它正在进行的调用,并找出您的构建进程在何处发起这些调用。然后试着最小化它们。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49618032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档