Unix 获取执行工作的核心的名称或编号

Unix 获取执行工作的核心的名称或编号,unix,parallel-processing,Unix,Parallel Processing,有没有办法使用unix命令行获取生成或处理工作的内核的名称(或编号) 其目的是检查并行系统是否实际使用了所有内核,因此我希望它返回内核名称以及ip地址 我知道IP地址是 ifconfig 我只需要一个 这适用于OS X和Linux系统对于MacOSX使用sysctl,对于Linux使用/proc/cpuinfo 在Linux(RHEL/CentOS)上,要获得逻辑核的数量,这与启用超线程时的物理核不同,请计算每个物理CPU的同级数 OSTYPE=`uname` case $OSTYPE in

有没有办法使用unix命令行获取生成或处理工作的内核的名称(或编号)

其目的是检查并行系统是否实际使用了所有内核,因此我希望它返回内核名称以及ip地址

我知道IP地址是

ifconfig
我只需要一个


这适用于OS X和Linux系统

对于MacOSX使用
sysctl
,对于Linux使用
/proc/cpuinfo

在Linux(RHEL/CentOS)上,要获得逻辑核的数量,这与启用超线程时的物理核不同,请计算每个物理CPU的同级数

OSTYPE=`uname`

case $OSTYPE in
  Darwin)
    NCORES=`sysctl -n hw.physicalcpu`
    NLCORES=`sysctl -n hw.logicalcpu`
    ;;
  Linux)
    NCORES=`grep processor /proc/cpuinfo | wc -l`
    NLCORES=`
      grep 'physical id\|siblings' /proc/cpuinfo |
      sed 'N;s/\n/ /' |
      uniq |
      awk -F: '{count += $3} END {print count}'
    `
    ;;
  *)
    echo "Unsupported OS" >&2
    exit 1
    ;;
esac

echo "Number of cores: $NCORES"
echo "Number of logical cores (HT): $NLCORES"

仅在OS X Mountain Lion和CentOS 5上测试。其他系统可能需要一些修复。请注意,此脚本未经过全面测试。使用时要小心。

您可以通过运行
top
检查是否正在使用所有内核。它将列出每个进程(按CPU降序排序)及其利用率。您应该看到,您的所有进程都位于顶部,并且每个进程都以接近100%的速度运行。当然,这假定正在执行的处理不是I/O绑定的。如果这不仅仅是一次性的,那么你的时间可能会花在寻找、安装合适的监控工具上。祝你好运