linux命令-硬件和系统
系统
查看centos发行版本:
cat /etc/issue 或 cat /etc/centos-release
查看linux操作系统内核信息:
uname -a
硬件信息
dmidecode
用于获得硬件方面的信息,包括BIOS,系统,主板,处理器,内存,缓存等等。
实例:
查看服务器型号:
dmidecode | grep 'Product Name'
查看主板的序列号:
dmidecode |grep 'Serial Number'
查看系统序列号:
dmidecode -s system-serial-number
查看内存信息:
dmidecode -t memory
查看OEM信息:
dmidecode -t 11
CPU
查看cpu有多种方式。
cat /proc/cpuinfo | head -20
或者
lscpu
显示结果中,model name为CPU型号,siblings逻辑处理器数,cpu cores内核数。
硬盘信息
查看硬盘和分区的详细信息
fdisk -l
查看挂载的分区状态。
fdisk -l|grep Disk
查看硬盘和分区分布
lsblk
查看硬盘的使用情况
df -hT
top
查看系统运行情况,包括负载,cpu,内存等使用情况。
交互命令:
i:忽略限制和僵尸命令。
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
结果如下:
top - 09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92 Tasks: 145 total,
2 running, 143 sleeping, 0 stopped, 0 zombie Cpu(s): 99.8%us, 0.1%sy, 0.0%ni, 0.2%id, 0.0%wa,
0.0%hi, 0.0%si, 0.0%st Mem: 4147888k total, 2493092k used, 1654796k free,
158188k buffers Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached
解释:
- top - 09:44:56[当前系统时间],
- 16 days[系统已经运行了16天],
- 1 user[个用户当前登录],
- load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度] 表示在过去的1、5、15分钟内运行队列中的平均进程数量。
一般来说只要每个CPU的当前活动进程数不大于3那么系统的性能就是良好的,如果每个CPU的任务数大于5,那么就表示这台机器的性能有 严重问题。对于上面的例子来说,假设系统有两个CPU,那么其每个CPU的当前任务数为:8.13/2=4.065。这表示该系统的性能是可以接受的。 - Tasks: 145 total[总进程数],
- 2 running[正在运行的进程数],
- 143 sleeping[睡眠的进程数],
- 0 stopped[停止的进程数],
- 0 zombie[冻结进程数],
- Cpu(s): 99.8%us[用户空间占用CPU百分比],
- 0.1%sy[内核空间占用CPU百分比],
- 0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
- 0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比],
- 0.0%hi[],
- 0.0%st[],
- Mem: 4147888k total[物理内存总量],
- 2493092k used[使用的物理内存总量],
- 1654796k free[空闲内存总量],
- 158188k buffers[用作内核缓存的内存量]
- Swap: 5144568k total[交换区总量],
- 56k used[使用的交换区总量],
- 5144512k free[空闲交换区总量],
- 2013180k cached[缓冲的交换区总量]。
swap 交换区
swap分区,即交换区,swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的 程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时, 再从Swap中恢复保存的数据到内存中。
swap区对性能的影响
swap区对性能的影响至关重要,通过调整swap,可以超越系统瓶颈,但分配太多,会造成磁盘浪费,而太小则会发生系统错误。
如果系统的物理内存用光了,系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。 例如,Web服务器能根据不同的请求数量衍生出多个服务进程(或线程)如果系统物理内存不够用,网站打开会很慢,ping可能会丢包,延迟很大; 如果Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。
swap划分的规则
在linux中,对swap划分有一定的规则,当物理内存小于2G时,swap划分大小是物理内存的2倍;超过2G,和物理内存大小相等。当大于32G时,小于 物理内存比较好。当然规则也不是一成不变的。
pmap命令查看进程的内存映射信息
pmap -d pid
结果样例如下:
00007f88eb1f2000 12 rw--- 0000000000098000 0fd:00001 libaqsUtil.so.1
00007f88eb1f5000 12 rw--- 0000000000000000 000:00000 [ anon ]
00007f88eb1f8000 4 r---- 0000000000000000 0fd:00001 ld-2.32.so
00007f88eb1f9000 132 r-x-- 0000000000001000 0fd:00001 ld-2.32.so
00007f88eb224000 8 rw--- 000000000002b000 0fd:00001 ld-2.32.so
00007ffffeb07000 132 rwx-- 0000000000000000 000:00000 [ stack ]
ffffffffff600000 4 r-x-- 0000000000000000 000:00000 [ anon ]
mapped: 136124K writeable/private: 67896K shared: 636K
其中最后一行的mapped表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小;
writeable/private 表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小 ;
shared 表示进程和其他进程共享的内存大小。