RHEL/CentOS 6.x的系统服务比5.x系列的要多了很多新面孔,估计很多童鞋不甚理解,网上这方面资料也很少。理解这个对运维人员是必要的,因为开启不必要的服务越多,系统就相对越不安全。不需开启的服务尽量关闭。本人结合自己的应用经验做一些讲解说明,有不同理解的童鞋欢迎交流。
下面列表是在RHEL/CentOS 6.x最小化桌面环境安装下显示出来的系统服务,其中红色字体标注的是用官方的minimal ISO最小化安装系统后的服务列表。
服务名称 | 功能 | 默认 | 建议 | 备注说明 |
NetworkManager | 用于自动连接网络,常用在Laptop上 | 开启 | 关闭 | 对服务器无用 |
abrt-ccpp | 开启 | 自定 | 对服务器无用 | |
abrt-oops | 开启 | 自定 | 对服务器无用 | |
abrtd | 开启 | 自定 | 对服务器无用 | |
acpid | 电源的开关等检测管理,常用在Laptop上 | 开启 | 自定 | 对服务器无用 |
atd | 在指定时间执行命令 | 开启 | 关闭 | 如果用crond,则可关闭它 |
auditd | 审核守护进程 | 开启 | 开启 | 如果用selinux,需要开启它 |
autofs | 文件系统自动加载和卸载 | 开启 | 自定 | 只在需要时开启它,可以关闭 |
avahi-daemon | 本地网络服务查找 | 开启 | 关闭 | 对服务器无用 |
bluetooth | 蓝牙无线通讯 | 开启 | 关闭 | 对服务器无用 |
certmonger | 关闭 | 关闭 | ||
cpuspeed | 调节cpu速度用来省电,常用在Laptop上 | 开启 | 关闭 | 对服务器无用 |
crond | 计划任务管理 | 开启 | 开启 | 常用,开启 |
cups | 通用unix打印服务 | 开启 | 关闭 | 对服务器无用 |
dnsmasq | dns cache | 关闭 | 关闭 | DNS缓存服务,无用 |
firstboot | 系统安装后初始设定 | 关闭 | 关闭 | |
haldaemon | 硬件信息收集服务 | 开启 | 开启 | |
ip6tables | ipv6防火墙 | 开启 | 关闭 | 用到ipv6网络的就用,一般关闭 |
iptables | ipv4防火墙 | 开启 | 开启 | ipv4防火墙服务 |
irqbalance | cpu负载均衡 | 开启 | 自定 | 多核cup需要 |
kdump | 硬件变动检测 | 关闭 | 关闭 | 服务器无用 |
lvm2-monitor | lvm监视 | 开启 | 自定 | 如果使用LVM逻辑卷管理就开启 |
matahari-broker | 关闭 | 关闭 | 此服务不清楚,我关闭 | |
matahari-host | 关闭 | 关闭 | 此服务不清楚,我关闭 | |
matahari-network | 关闭 | 关闭 | 此服务不清楚,我关闭 | |
matahari-service | 关闭 | 关闭 | 此服务不清楚,我关闭 | |
matahari-sysconfig | 关闭 | 关闭 | 此服务不清楚,我关闭 | |
mdmonitor | 软raid监视 | 开启 | 自定 | |
messagebus | 负责在各个系统进程之间传递消息 | 开启 | 开启 | 如停用,haldaemon启动会失败 |
netconsole | 关闭 | 关闭 | ||
netfs | 系统启动时自动挂载网络文件系统 | 开启 | 关闭 | 如果使用nfs服务,就开启 |
network | 系统启动时激活所有网络接口 | 开启 | 开启 | 网络基础服务,必需! |
nfs | 网络文件系统 | 关闭 | 关闭 | nfs文件服务,用到就开启 |
nfslock | nfs相关 | 开启 | 关闭 | nfs相关服务,用到就开启 |
ntpd | 自动对时工具 | 关闭 | 自定 | 网络对时服务,用到就开启 |
ntpdate | 自动对时工具 | 关闭 | 关闭 | |
oddjobd | 与D-BUS相关 | 关闭 | 关闭 | |
portreserve | RPC 服务相关 | 开启 | 自定 | 可以关闭 |
postfix | 替代sendmail的邮件服务器 | 开启 | 自定 | 如果无邮件服务,可关闭 |
psacct | 负荷检测 | 关闭 | 关闭 | 可以关闭 |
qpidd | 消息通信 | 开启 | 开启 | |
quota_nld | 关闭 | 关闭 | 可以关闭 | |
rdisc | 自动检测路由器 | 关闭 | 关闭 | |
restorecond | selinux相关 | 关闭 | 关闭 | 如果开启了selinux,就需开启 |
rpcbind | 开启 | 开启 | 关键的基础服务,nfs服务和桌面环境都依赖此服务!相当于CentOS 5.x里面的portmap服务。 | |
rpcgssd | NFS相关 | 开启 | 关闭 | NFS相关服务,可选 |
rpcidmapd | RPC name to UID/GID mapper | 开启 | 关闭 | NFS相关服务,可选 |
rpcsvcgssd | NFS相关 | 关闭 | 关闭 | NFS相关服务,可选 |
rsyslog | 提供系统的登录档案记录 | 开启 | 开启 | 系统日志关键服务,必需! |
saslauthd | sasl认证服务相关 | 关闭 | 关闭 | |
smartd | 硬盘自动检测守护进程 | 关闭 | 关闭 | |
spice-vdagentd | 开启 | 开启 | ||
sshd | ssh服务端,可提供安全的shell登录 | 开启 | 开启 | SSH远程登录服务,必需! |
sssd | 关闭 | 关闭 | ||
sysstat | 开启 | 开启 | 一组系统监控工具的服务,常用 | |
udev-post | 设备管理系统 | 开启 | 开启 | |
wdaemon | 关闭 | 关闭 | ||
wpa_supplicant | 无线认证相关 | 关闭 | 关闭 | |
ypbind | network information service客户端 | 关闭 | 关闭 |
系统服务管理工具:
chkconfig(所有linux发行版都有),用法很简单,如下:
chkconfig --list [name] chkconfig --add chkconfig --del chkconfig [--level ]
ntsysv(Redhat系发行版特有),直接运行选择服务是否自启动。
3、查看系统服务的相关说明:
在RHEL/CentOS下这些系统服务都是Shell脚本,我们可以使用rpm的命令参数来查看相应服务的说明。如想查看mysqld服务的说明:
rpm -qi $(rpm -qf /etc/init.d/mysqld)
如图所示:
limits.conf的格式如下:
username|@groupname type resource limit
username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比hard 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
resource:
core - 限制内核文件的大小
date - 最大数据大小
fsize - 最大文件大小
memlock - 最大锁定内存地址空间
nofile - 打开文件的最大数目
rss - 最大持久设置大小
stack - 最大栈大小
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目
要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:
session required /lib/security/pam_limits.so
按下面说的,可以用ulimit -n 32768设置最大描述符,不过只对当前会话有用,而且要root,这个不好办,或者修改/etc/security/limits.conf,但要重启
另外,没查到linux究竟最大描述符有没有限制,其他几个限制要不要改
http://www.nsfocus.net/index.php?act=magazine&do=view&mid=134
如何限制和监视用户
PAM 大多数的LINUX都内建了PAM支持。PAM的一个功能是系统环境设置,例如设置某个用户允许使用的系统内存大小等。在Red Hat和Caldera这两个发行版本的 /etc/security/ 目录下包含了许多可配置文件。最有趣的当属 /etc/security/limits.conf 文件,它允许你定义用户或用户组规则,规则是“软(soft)”或“硬(hard)”,规则的内容(如CPU、内存、最大文件大小等)。例如:
* hard core 0
bob soft nproc 100
bob hard nproc 150
第一行规则禁止所有人产生core文件,第二行规则(软)定义用户bob的最大进程数为100,第三行规则(硬)定义用户bob的最大进程数为150。可以超出软规则的限制(警告),但不能超过硬规则的限制。你可以想像得到,这些规则定义到所有用户的登录SHELL和FTP等服务时是很有帮助的。
Bash
Bash内建了一个限制器"ulimit"。注意任何硬限制都不能设置得太高,因此如果你在/etc/profile或用户的 .bash_profile (用户不能编辑或删除这些文件)中定义了限制规则,你就能对用户的Bash shell实施限制。这对于缺少PAM支持的LINUX旧发行版本是很有用的。你还必须确保用户不能改变他们的登录shell。限制的设置与PAM相似。例如:
ulimit –Sc 0
ulimit –Su 100
ulimit –Hu 150
http://www.ringkee.com/jims/read_folder/books/LinuxHackingExposed
Ulimit命令
设置限制
可以把命令加到profile文件里,也可以在/etc/security/limits.conf文件中定义限制。
命令参数:
-a 显示所有限制
-c core文件大小的上限
-d 进程数据段大小的上限
-f shell所能创建的文件大小的上限
-m 驻留内存大小的上限
-s 堆栈大小的上限
-t 每秒可占用的CPU时间上限
-p 管道大小
-n 打开文件数的上限
-u 进程数的上限
-v 虚拟内存的上限
除可用Ulimit命令设置外,也可以在/etc/security/limits.conf文件中定义限制。
domino type item value
domino是以符号@开头的用户名或组名,*表示所有用户,type设置为hard or soft。item指定想限制的资源。如cpu,core nproc or maxlogins。value是相应的限制值。
http://tech.blogchina.com/123/2005-06-10/372941.html
Unix、Linux下常用监控和管理命令工具
检查编写的程序打开的文件数。
sysctl:显示(或设置)系统内核参数
sysctl -a 显示所有内核参数
sysctl -w 参数名=参数值
例如:sysctl -w fs.file-max=10240 设置系统允许同时打开的最大文件数为10240。
内核参数fs.file-nr包括三个参数值,第一个参数表示系统中曾经同时打开过的文件数峰值,
第二个参数表示空闲(分配后已释放)的文件数,
第三个参数表示可以打开的最大文件数,其值等于fs.file-max。
当前打开的文件数 = 第一个参数值 - 第二个参数值
例如:
fs.file-nr = 977 223 10240
当前打开的文件数 = 977 - 233 = 744
设置内核参数时务必小心,如果设置不当会导致系统异常,甚至当机。
ulimit:显示(或设置)用户可以使用的资源限制
ulimit -a 显示用户可以使用的资源限制
ulimit unlimited 不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)
和可同时运行的最大进程数(max user processes)无效
ulimit -n <可以同时打开的文件数> 设置用户可以同时打开的最大文件数(max open files)
例如:ulimit -n 8192
如果本参数设置过小,对于并发访问量大的网站,可能会出现too many open files的错误
ulimit -u <可以运行的最大并发进程数> 设置用户可以同时运行的最大进程数(max user processes)
例如:ulimit -u 1024
http://www-128.ibm.com/developerworks/cn/linux/es-JavaVirtualMachinePerformance.html?ca=dwcn-newsletter-linux
IBM JVM for Linux on POWER 的性能调优技巧
用户限制设置
为了获得最佳性能,让运行 JVM 进程的用户拥有经过正确配置的用户设置是很重要的。这些参数可以设置成以下两种形式之一:
暂时地,适用于通过 ulimit 命令登录 shell 会话期间。
永久地,通过将一个相应的 ulimit 语句添加到由登录 shell 读取的文件之一(例如 ~/.profile),即特定于 shell 的用户资源文件;或者通过编辑 /etc/security/limits.conf。
建议设置成无限制(unlimited)的一些重要设置是:
数据段长度:ulimit –d unlimited
最大内存大小:ulimit –m unlimited
堆栈大小:ulimit –s unlimited
CPU 时间:ulimit –t unlimited
虚拟内存:ulimit –v unlimited
对于需要做许多套接字连接并使它们处于打开状态的 Java 应用程序而言,最好通过使用 ulimit –n,或者通过设置
/etc/security/limits.conf 中的 nofile 参数,为用户把文件描述符的数量设置得比默认值高一些。
提高 Oracle 用户的 shell 限制
/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
/etc/pam.d/login
session required /lib/security/pam_limits.so
/etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
不解压一个tar.gz文件,查看里面的文件明细的命令为:
# tar tvf dbzhj.tar.gz
输出形如:
drwxr-xr-x root/root 0 2012-06-30 15:02 dbzhj/
-rw-r--r-- root/root 349 2012-05-04 00:37 dbzhj/phpinfo.php
-rw-r--r-- root/root 26 2012-05-04 00:37 dbzhj/robots.txt
-rw-r--r-- root/root 29 2012-05-04 00:37 dbzhj/RELEASE-DATE-3.5.1
-rw-r--r-- root/root 391 2012-05-04 00:37 dbzhj/url.php
-rw-r--r-- root/root 11366 2012-05-04 00:37 dbzhj/browse_foreigners.php
-rw-r--r-- root/root 31160 2012-05-04 00:37 dbzhj/db_qbe.php
-rw-r--r-- root/root 2157 2012-05-04 00:37 dbzhj/pmd_relation_upd.php
-rw-r--r-- root/root 13553 2012-05-04 00:37 dbzhj/db_search.php
从左起第三列数据就是文件大小(单位:字节),第6列就是文件名。如果要看得更清楚一点,用awk来过滤一下输出的结果:
# tar tvf dbzhj.tar.gz | awk '{print $3, $6}'
这样就只输出第3和第6列,输出形如:
349 dbzhj/phpinfo.php
26 dbzhj/robots.txt
29 dbzhj/RELEASE-DATE-3.5.1
391 dbzhj/url.php
11366 dbzhj/browse_foreigners.php
31160 dbzhj/db_qbe.php
2157 dbzhj/pmd_relation_upd.php
13553 dbzhj/db_search.php
如果要以KB/MB/GB来显示文件大小,可以用第3列除N个1024,例如,如果要显示为GB,则:
#tar tvf dbzhj.tar.gz | awk '{print $3/1024/1024/1024, $6}'
字节数连除3个1024,就是GB了,输出形如:
3.25032e-07 dbzhj/phpinfo.php
2.42144e-08 dbzhj/robots.txt
2.70084e-08 dbzhj/RELEASE-DATE-3.5.1
3.64147e-07 dbzhj/url.php
1.05854e-05 dbzhj/browse_foreigners.php
2.902e-05 dbzhj/db_qbe.php
2.00886e-06 dbzhj/pmd_relation_upd.php
1.26222e-05 dbzhj/db_search.php
如果对一个超大的文件(例如,上百G),并且压缩包里包含很多文件的话,这个过程将很漫长,让shell命令在后台执行,并将结果输出到一个文件中是一个比较合理的做法,如下:
#nohup tar tvf dbzhj.tar.gz | awk '{print $3/1024/1024/1024, $6}' > /root/fileinfo.txt &
nohup 是保证shell命令无中断(网络状况不佳时,SecureCRT等客户端软件有可能中断与服务器的连接,从而命令还没执行完就被中断了)
有很多人经常修改/etc/fstab文件,但是其中却有很多人对这个文件所表达的意义不太清楚,因为只要按照一定的模式,就可以轻而易举地添加一行挂载信息,而不需要完全理解其中的原理。下面就让我们来看看到底还有多少是我们不了解的。
当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。下面我来介绍如何在此文件下填写信息。
在这个文件下,我们要关注的是它的六个域,分别为:
<file system>、<mount point>、<type> 、<options>、<dump>、<pass>
下面将详细介绍这六个域的详细意义。
1、<fie sysytem>。
这里用来指定你要挂载的文件系统的设备名称或块信息,也可以是远程的文件系统。
做过嵌入式linux开发的朋友都可能知道 mount 192.168.1.56:/home/nfs /mnt/nfs/ -o nolock (可以是其他IP)命令所代表的意义。它的任务是把IP为192.168.1.56的远程主机上的/home/nfs/目录挂载到本机的/mnt/nfs /目录之下。如果要把它写进/etc/fstab文件中,file system这部分应填写为:/192.168.1.56:/home/nfs/。
如果想把本机上的某个设备(device)挂载上来,写法如:/dev/sda1、/dev/hda2或/dev/cdrom,其中,/dev/sda1 表示第一个串口硬盘的第一个分区,也可以是第一个SCSI硬盘的第一个分区,/dev/hda1表示第一个IDE硬盘的第一个分区,/dev/cdrom 表示光驱。
此外,还可以label(卷标)或UUID(Universally Unique Identifier全局唯一标识符)来表示。
用label表示之前,先要e2label创建卷标,如:e2label /dir_1 /dir_2,其意思是说用/dir_2来表示/dir_1的名称。然后,再在/etc/fstab下添加:LABEL=/dir_2 /dir_2 <type> <options> <dump> <pass>。重启后,系统就会将/dir_1挂载到/dir_2目录上。对于UUID,可以用vol_id -u /dev/sdax来获取。比如我想挂载第一块硬盘的第一个分区,先用命令vol_id -u /dev/sda11 来取得UUID,比如是:5dc08a62-3472-471b-9ef5-0a91e5e2c126,然后在<file system>这个域上填写: UUID=5dc08a62-3472-471b-9ef5-0a91e5e2c126,即可表示/dev/sda11。Red Hat linux 一般会使用label,而Ubuntu linux 一般会用UUID。
2、<mount point>。
挂载点,也就是自己找一个或创建一个dir(目录),然后把文件系统<fie sysytem>挂到这个目录上,然后就可以从这个目录中访问要挂载文件系统。对于swap分区,这个域应该填写:none,表示没有挂载点。
3、<type>。
这里用来指定文件系统的类型。下面的文件系统都是目前Linux所能支持的:adfs、befs、cifs、ext3、 ext2、ext、iso9660、kafs、minix、msdos、vfat、umsdos、proc、reiserfs、swap、 squashfs、nfs、hpfs、ncpfs、ntfs、affs、ufs。
4、<options>。
这里用来填写设置选项,各个选项用逗号隔开。由于选项非常多,而这里篇幅有限,所以不再作详细介绍,如需了解,请用 命令 man mount 来查看。但在这里有个非常重要的关键字需要了解一下:defaults,它代表包含了选项rw,suid,dev,exec,auto,nouser和 async。
5、<dump>。
此处为1的话,表示要将整个<fie sysytem>里的内容备份;为0的话,表示不备份。现在很少用到dump这个工具,在这里一般选0。
6、<pass>。
这里用来指定如何使用fsck来检查硬盘。如果这里填0,则不检查;挂载点为 / 的(即根分区),必须在这里填写1,其他的都不能填写1。如果有分区填写大于1的话,则在检查完根分区后,接着按填写的数字从小到大依次检查下去。同数字 的同时检查。比如第一和第二个分区填写2,第三和第四个分区填写3,则系统在检查完根分区后,接着同时检查第一和第二个分区,然后再同时检查第三和第四个分区。
一、Dmidecode简介
DMI (Desktop Management Interface, DMI)就是帮助收集电脑系统信息的管理系统,DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。 SMBIOS(System Management BIOS)是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。SMBIOS和DMI是由行业指导机构Desktop Management Task Force (DMTF)起草的开放性的技术标准,其中DMI设计适用于任何的平台和操作系统。
DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统更加方便了电脑厂商和用户对系统的了解。DMI的主要组成部分是Management Information Format (MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。
dmidecode的输出格式一般如下:
Handle 0×0002 DMI type 2, 8 bytes Base Board Information Manufacturer:Intel Product Name: C440GX+ Version: 727281-0001 Serial Number: INCY92700942
其中的前三行都称为记录头(recoce Header), 其中包括了:
recode id(handle): DMI表中的记录标识符,这是唯一的,比如上例中的Handle 0×0002。
dmi type id: 记录的类型,譬如说:BIOS,Memory,上例是type 2,即”Base Board Information”
recode size: DMI表中对应记录的大小,上例为8 bytes.(不包括文本信息,所有实际输出的内容比这个size要更大。)记录头之后就是记录的值
decoded values: 记录值可以是多行的,比如上例显示了主板的制造商(manufacturer)、model、version以及serial Number。
二、Dmidecode的作用
dmidecode的作用是将DMI数据库中的信息解码,以可读的文本方式显示。由于DMI信息可以人为修改,因此里面的信息不一定是系统准确的信息。
三、安装Dmidecode
Dmidecode 在主流的 Linux 发行版中都可以找到,只需通过所用发行版的包管理器安装即可,如:
apt-get install dmidecode
或者使用官方包安装:
Dmidecode源码包下载地址:http://download.savannah.GNU.org/releases/dmidecode/
Win版本下载地址:http://gnuwin32.sourceforge.net/packages/dmidecode.htm
四、dmidecode命令用法详解
不带选项执行 dmidecode 通常会输出所有的硬件信息。Dmidecode 有个很有用的选项 -t,可以按指定类型输出相关信息,假如要获得处理器方面的信息,则可以执行
dmidecode -t processor
输出:
# dmidecode 2.10
SMBIOS 2.6 present.
Handle 0x0004, DMI type 4, 40 bytes
Processor Information
Socket Designation: CPU 1
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: A5 06 01 00 FF FB EB BF
Signature: Type 0, Family 6, Model 26, Stepping 5
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
------
Usage: dmidecode [OPTIONS]
Options are:
-d, --dev-mem FILE Read memory from device FILE (default: /dev/mem)
从设备文件读信息,输出内容与不加参数标准输出相同
-h, --help Display this help text and exit
显示帮助信息
-q, --quiet Less verbose output
显示更少的简化信息
-s, --string KEYWORD Only display the value of the given DMI string
只显示指定DMI字符串的信息
-t, --type TYPE Only display the entries of given type
只显示指定条目的信息
-u, --dump Do not decode the entries
显示未解码的原始条目内容
--dump-bin FILE Dump the DMI data to a binary file
--from-dump FILE Read the DMI data from a binary file
-V, --version Display the version and exit
显示版本信息
五、dmidecode参数string及type列表
(1)Valid string keywords are:
bios-vendor
bios-version
bios-release-date
system-manufacturer
system-product-name
system-version
system-serial-number
system-uuid
baseboard-manufacturer
baseboard-product-name
baseboard-version
baseboard-serial-number
baseboard-asset-tag
chassis-manufacturer
chassis-type
chassis-version
chassis-serial-number
chassis-asset-tag
processor-family
processor-manufacturer
processor-version
processor-frequency
(2)Valid type keywords are:
bios
system
baseboard
chassis
processor
memory
Cache
connector
slot
(3)type全部编码列表
0 BIOS
1 System
2 Base Board
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply
40 Additional Information
41 Onboard Device
六、命令用法示例
查看服务器型号:dmidecode | grep 'Product Name'
查看主板的序列号:dmidecode |grep 'Serial Number'
查看系统序列号:dmidecode -s system-serial-number
查看内存信息:dmidecode -t memory
查看OEM信息:dmidecode -t 11
关于 Dmidecode 的更多用法,你可以通过指定 -h 选项查询。