1. 查询CPU信息
AIX的硬件信息可以通过prtconf命令看到。
1. 1 查看逻辑CPU个数
#pmcycles -m
CPU 0 runs at 4204 MHz
CPU 1 runs at 4204 MHz
CPU 2 runs at 4204 MHz
CPU 3 runs at 4204 MHz
CPU 4 runs at 4204 MHz
CPU 5 runs at 4204 MHz
CPU 6 runs at 4204 MHz
CPU 7 runs at 4204 MHz
上面描述有8个CPU,CPU的主频为4.2G赫兹
1.2 查看物理CPU个数
#prtconf|grep Processors
Number Of Processors: 4
1.3 确定CPU是几核
用逻辑CPU除以物理CPU就是核数。
1.4 查看单个CPU的详细信息
#lsattr -E -l proc0
2. 查询内存信息
2.1 # lsdev -Cc memory
查看配置的物理内存设备,下面为其输出示例:
L2cache0 Available L2 Cache
mem0 Available Memory
# lsattr -El mem0
输出类似如下所示:
goodsize 7936 Amount of usable physical memory in Mbytes False
size 7936 Total amount of physical memory in Mbytes False
此例说明机器的物理内存为5888MB。如果前面lsdev的输出中有设备名 mem1,则使用同样的命令查看其对应的大小并依此类推。
2.2 # bootinfo -r
8126464
此例说明机器的物理内存为8126464kB。
2.3 # prtconf
输出类似下面所示:
Memory Size: 7936 MB
本命令会打出当前主机的详细配置信息,输出中有Memory Size属性,指示其当前物理内存大小
2.4 # svmon -G
输出类似下面所示:
size inuse free pin virtual
memory 2031616 1474504 557112 210251 440972
pg space 131072 1555
work pers clnt
pin 210251 0 0
in use 440972 0 1033532
PageSize PoolSize inuse pgsp pin virtual
s 4 KB - 1426984 1555 187531 393452
m 64 KB - 2970 0 1420 2970
其中:size表示真实的物理内存的大小,单位是4k.因此当前物理内存大小为4k*2031616=8126464kB
二、Linux *** 作系统
1. 查询CPU信息
Linux下的CPU信息全部都在/proc/cpuinfo这个文件中,可以直接打开看。
1.1 查看物理CPU的个数
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
1.2 查看逻辑CPU的个数
#cat /proc/cpuinfo |grep "processor"|wc -l
1.3 查看CPU是几核
#cat /proc/cpuinfo |grep "cores"|uniq
1.4 查看CPU的主频
#cat /proc/cpuinfo |grep MHz|uniq
2. 查询内存信息
#free -m
uname -a # 查看内核/ *** 作系统/CPU信息
head -n 1 /etc/issue # 查看 *** 作系统版本
cat /proc/cpuinfo # 查看CPU信息
hostname # 查看计算机名
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备
lsmod # 列出加载的内核模块
env# 查看环境变量
资源
free -m# 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh <目录名> # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo# 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载
磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
ifconfig # 查看所有网络接口的属性
iptables -L# 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息
进程
ps -ef # 查看所有进程
top# 实时显示进程状态
用户
w # 查看活动用户
id <用户名> # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group# 查看系统所有组
crontab -l # 查看当前用户的计划任务
服务
chkconfig --list # 列出所有系统服务
chkconfig --list | grep on# 列出所有启动的系统服务
程序
rpm -qa# 查看所有安装的软件包
查看网卡型号
lspci | grep Ethernet
00:19.0 Ethernet controller: Intel Corporation 82567V-2 Gigabit Network Connection
查看硬盘信息(查看硬盘型号和硬盘序列号):
df -h
hdparm -i /dev/sda
/dev/sda:
dmesg | grep ATA
查看主板型号:
dmidecode | more
1.1 top
1.2 vmstat
r 表示可运行进程数目,数据大致相符;而b表示的是 uninterruptible 睡眠的进程数目;swpd 表示使用到的虚拟内存数量,跟 top-Swap-used 的数值是一个含义,而如手册所说,通常情况下 buffers 数目要比 cached Mem 小的多,buffers 一般20M这么个数量级;io 域的 bi、bo 表明每秒钟向磁盘接收和发送的块数目(blocks/s);system 域的 in 表明每秒钟的系统中断数(包括时钟中断),cs表明因为进程切换导致上下文切换的数目。
说到这里,想到以前很多人纠结编译 linux kernel 的时候 -j 参数究竟是 CPU Core 还是 CPU Core+1?通过上面修改 -j 参数值编译 boost 和 linux kernel 的同时开启 vmstat 监控,发现两种情况下 context switch 基本没有变化,且也只有显著增加 -j 值后 context switch 才会有显著的增加,看来不必过于纠结这个参数了,虽然具体编译时间长度我还没有测试。资料说如果不是在系统启动或者 benchmark 的状态,参数 context switch>100000 程序肯定有问题。
1.3 pidstat
如果想对某个进程进行全面具体的追踪,没有什么比 pidstat 更合适的了——栈空间、缺页情况、主被动切换等信息尽收眼底。这个命令最有用的参数是-t,可以将进程中各个线程的详细信息罗列出来。
-r: 显示缺页错误和内存使用状况,缺页错误是程序需要访问映射在虚拟内存空间中但是还尚未被加载到物理内存中的一个分页,缺页错误两个主要类型是
-s:栈使用状况,包括 StkSize 为线程保留的栈空间,以及 StkRef 实际使用的栈空间。使用ulimit -s发现CentOS 6.x上面默认栈空间是10240K,而 CentOS 7.x、Ubuntu系列默认栈空间大小为8196K
1.4 其他
while :do ps -eo user,pid,ni,pri,pcpu,psr,comm | grep 'ailawd'sleep 1done
2.1 iostat
3.1 netstat
➜ ~ netstat -antp #列出所有TCP的连接
➜ ~ netstat -nltp #列出本地所有TCP侦听套接字,不要加-a参数
3.2 sar
3.3 tcpdump
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)