• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >LINUX > 获知Linux的进程运行在哪个CPU内核上的方法

获知Linux的进程运行在哪个CPU内核上的方法

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-12

佚名 通过本文向大家介绍了获知,获知的意思,某棉农获知脱落酸,艾希获知神的名字,获知 英文等相关知识,希望对您有所帮助,也希望大家多多支持linkedu.com

当你在 多核 NUMA 处理器上运行需要较高性能的 HPC(高性能计算)程序或非常消耗网络资源的程序时,CPU/memory 的亲和力是限度其发挥最大性能的重要因素之一。在同一 NUMA 节点上调度最相关的进程可以减少缓慢的远程内存访问。像英特尔 Sandy Bridge 处理器,该处理器有一个集成的 PCIe 控制器,你可以在同一 NUMA 节点上调度网络 I/O 负载(如网卡)来突破 PCI 到 CPU 亲和力限制。

作为性能优化和故障排除的一部分,你可能想知道特定的进程被调度到哪个 CPU 内核(或 NUMA 节点)上运行。

这里有几种方法可以 找出哪个 CPU 内核被调度来运行给定的 Linux 进程或线程。

方法一
如果一个进程使用 taskset 命令明确的被固定(pinned)到 CPU 的特定内核上,你可以使用 taskset 命令找出被固定的 CPU 内核:

但是,如果你没有明确固定进程到任何 CPU 内核,你会得到类似下面的亲和力列表。

pid 5357's current affinity list: 0-11
输出表明该进程可能会被安排在从0到11中的任何一个 CPU 内核。在这种情况下,taskset 不能识别该进程当前被分配给哪个 CPU 内核,你应该使用如下所述的方法。

方法二
ps 命令可以告诉你每个进程/线程目前分配到的 (在“PSR”列)CPU ID。

方法三
top 命令也可以显示 CPU 被分配给哪个进程。首先,在top 命令中使用“P”选项。然后按“f”键,显示中会出现 "Last used CPU" 列。目前使用的 CPU 内核将出现在 “P”(或“PSR”)列下。

方法四
另一种来检查一个进程/线程当前使用的是哪个 CPU 内核的方法是使用 htop 命令。

从命令行启动 htop。按 键,进入"Columns",在"Available Columns"下会添加 PROCESSOR。

每个进程当前使用的 CPU ID 将出现在“CPU”列中。

请注意,所有以前使用的命令 taskset,ps 和 top 分配CPU 内核的 IDs 为 0,1,2,...,N-1。然而,htop 分配 CPU 内核 IDs 从 1开始(直到 N)。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 求帮助!如何从一个com的dll获知它的接口声明呢,相当于头文件??
  • 如何获知点击的是否为iframe层!!!
  • 如何获知某进程打开了哪些文件?
  • 如何用API获知用户当前正在操作的应用程序。
  • 只有dll文件,没有h和lib文件,如何获知并调用这个DLL里的函数?
  • 请问如何获知某进程处于DEBUG状态?
  • 分享小程序中获知用户运行小程序的场景实例
  • 如何获知PHP程序占用多少内存(memory_get_usage)_PHP教程
  • 获知Linux的进程运行在哪个CPU内核上的方法
  • 如何获知一个VC写的控件的clsIDGuid?

相关文章

  • 2017-05-12解析Linux系统中bashrc和profile文件的作用区别
  • 2017-05-12Linux系统下如何制作Live USB?Linux系统下制作Live USB的方法
  • 2017-05-12redhat linux swap分区扩展的三种方法详解
  • 2017-05-12Linux系统中修改与查看文件属性的基本方法
  • 2017-05-12Linux系统中重复执行命令的方法小结
  • 2017-05-12Linux编程时出现Segmentation fault错误如何解决?
  • 2017-05-12Linux系统中怎么设置java环境变量?
  • 2017-05-12Linux下安装使用Mutt邮件客户端并配置邮件警报功能
  • 2017-05-12如何在Linux中添加一块大于2TB的新磁盘?
  • 2017-05-12Linux区分install命令和cp命令详解

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • 详解Linux中获取全球唯一标示符UUID的方法
    • SSH登录Linux服务器慢或者登陆错误的解决方法分享
    • RSync文件备份同步 Linux服务器rsync同步配置图文教程
    • Linux系统上安装MRTG来监控网络流量
    • 详解Linux系统中的文件权限设置
    • 从Vim中访问shell或者运行外部命令的方法
    • 详解Linux下常用远程登陆命令telnet和rlogin的用法
    • 详解Linux系统中ping和arping命令的用法
    • Linux中tomcat服务成功发布但局域网浏览器无法访问的解决方法
    • 在Linux系统上安装配置DNS服务器的教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有