https://onitroad.com 更多教程
收集内存信息
获取内存信息是微不足道的。
对内存使用 prtconf 命令和 grem :
# prtconf | grep Memory Memory size: 65536 Megabytes
我们还可以使用 prtdiag 命令来查找系统中的内存:
# prtdiag -v | grep Memory Memory size: 65536 Megabytes
收集CPU相关信息
查找物理/逻辑 CPU
要查找任何系统上的物理 CPU 数量,请在 psrinfo 命令中使用 -p 选项。
-p 选项可能不适用于 solaris 9 及更低版本。
在这种情况下,请使用 kstat 命令查找物理 CPU。
# psrinfo -p 2
如果我们需要更详细的输出,请使用 -v 和上述命令:
# psrinfo -pv The physical processor has 64 virtual processors (0-63) UltraSPARC-T2+ (cpuid 0 clock 1165 MHz) The physical processor has 64 virtual processors (64-127) UltraSPARC-T2+ (cpuid 64 clock 1165 MHz)
现在 psrinfo 或者 psrinfo -v 将显示所有逻辑/虚拟 CPU。
因此,在 T5240 的情况下,它将显示所有内核和 CPU 上的所有线程。
# psrinfo -v | more Status of virtual processor 0 as of: 08/12/2009 12:01:00 on-line since 08/08/2009 06:03:02. The sparcv9 processor operates at 1165 MHz, and has a sparcv9 floating point processor. Status of virtual processor 1 as of: 08/12/2009 12:01:00 on-line since 08/08/2009 06:03:05. The sparcv9 processor operates at 1165 MHz, and has a sparcv9 floating point processor. Status of virtual processor 2 as of: 08/12/2009 12:01:00 on-line since 08/08/2009 06:03:05. The sparcv9 processor operates at 1165 MHz, and has a sparcv9 floating point processor. .........
要计算 T5240 中的线程总数,只需将 psrinfo 命令中的输出相加:
# psrinfo | wc -l 128
查看内核
要查找所有 CPU 的内核总数:
# kstat cpu_info|grep core_id|sort -u|wc -l 16
现在要找到每个 CPU 的核心数,只需进行数学计算:核心总数/物理 CPU 总数
另一种收集 CPU 相关信息的方法是使用 prtdiag 命令:
# prtdiag -v | more System Configuration: Oracle Corporation sun4v SPARC T2+ Memory size: 65536 Megabytes ================================ Virtual CPUs ================================ CPU ID Frequency Implementation Status ------ --------- ---------------------- ------ 0 1400 MHz SPARC-T2+ on-line 1 1400 MHz SPARC-T2+ on-line 2 1400 MHz SPARC-T2+ on-line 3 1400 MHz SPARC-T2+ on-line ....
获取 CPU 和内核映射
这里的小脚本给出了服务器上的 CPU 和核心映射。
在 T5240 的情况下,它将显示哪个线程位于哪个 CPU 内核。
# cat cpu-core-mapping.sh #!/bin/ksh kstat cpu_info | egrep "cpu_info |core_id" | awk 'BEGIN { printf "%4s %4s", "CPU", "core" } /module/ { printf "n%4s", } /core_id/ { printf "%4s", } END { printf "n" }'
运行脚本的输出:
# ./cpu-core-mapping.sh CPU core 0 0 1 0 2 2 3 2 40 40 41 40 42 42 43 42 .......
使用 LDOM 在 T 系列硬件上查找 CPU 信息
如果我们在 T 系列硬件上安装了 LDOM,则上述命令可能无法为我们提供正确的值。
使用“ldm list-devices -a”命令列出核心、虚拟 CPU (VCPU) 和资源分配。
# ldm list-devices -a CORE ID %FREE CPUSET 0 12 (0, 1, 2, 3, 4, 5, 6, 7) 1 0 (8, 9, 10, 11, 12, 13, 14, 15) 2 0 (16, 17, 18, 19, 20, 21, 22, 23) 3 0 (24, 25, 26, 27, 28, 29, 30, 31) 4 0 (32, 33, 34, 35, 36, 37, 38, 39) 5 0 (40, 41, 42, 43, 44, 45, 46, 47) 6 0 (48, 49, 50, 51, 52, 53, 54, 55) 7 0 (56, 57, 58, 59, 60, 61, 62, 63) 8 0 (64, 65, 66, 67, 68, 69, 70, 71) ...........................
有时,收集 CPU 和内存信息会变得有点棘手,尤其是对于安装了 LDOM 的 t 系列硬件。
本文以T5240服务器为例,收集物理/逻辑CPU、内存等硬件信息。
日期:2020-09-17 00:15:15 来源:oir作者:oir