判断Linux服务器CPU情况的依据如下:
- 具有相同的core id的CPU是同一个core的超线程。(Any cpu with the same core id are hyper-threads in the same core);
- 具有相同的physical id的CPU是同一个CPU封装的线程或核心。(Any cpu with the same physical id are threads or cores in the same physical socket);
物理CPU个数如下所示:
[bppf_inf@devapp001 ~]$ cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
4
每个物理CPU中core的个数(即核数)如下所示:
[bppf_inf@devapp001 ~]$ cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 4
逻辑CPU的个数如下所示:
[bppf_inf@devapp001 ~]$ cat /proc/cpuinfo | grep "processor" | wc -l
16
查看Linux服务器的内存使用情况,命令如下:
[bppf_inf@devapp001 ~]$ free -m
total used free shared buffers cached
Mem: 16050 15448 602 0 382 3190
-/+ buffers/cache: 11875 4175
Swap: 8001 18 7982
- total:内存总数
- used:已经使用的内存数
- free:空闲的内存数
- shared:多个进程共享的内存总额
- -buffers/cache:(已用)的内存数,即used-buffers-cached
- +buffers/cache:(可用)的内存数,即free+buffers+cached
查看Linux系统的平均负载
- 平均负载的概念:有时候我们会觉得系统响应很慢,但是又找不到原因,这时就要查平均负载了,看它是否有大量的进程在排队等。特定时间间隔内运行队列的平均进程数可以反映系统的繁忙程度,所以我们通常会在自己的网站或系统变慢时第一时间查系统的负载,即CPU的平均负载。
- 查看平均负载:最简单的命令是uptime,如下所示:
[bppf_inf@devapp001 ~]$ uptime
10:46:38 up 6 days, 21:02, 24 users, load average: 1.13, 0.92, 0.47 - 还可以用w命令来查看,如下所示:[bppf_inf@devapp001 ~]$ w
10:52:44 up 6 days, 21:09, 25 users, load average: 1.02, 0.99, 0.64
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
bppf_eas pts/0 192.168.95.218 Tue19 14:57m 0.03s 0.03s -bash
root :0 - 23Apr14 ?xdm? 1:45m 0.08s /usr/bin/gnome-session
root pts/1 :0.0 23Apr14 6days 0.01s 0.01s bash
bppf_fas pts/2 192.168.95.218 Tue16 12:06 0.18s 0.00s sshd: bppf_fas [priv]
dxposp pts/3 192.168.83.5 10:19 1:54 0.05s 0.01s view posTunnelSvr-7331-20140430-0001.log
bppf_inf pts/4 192.168.95.148 Tue17 0.00s 0.04s 0.00s sshd: bppf_inf [priv]
bppf_inf pts/5 192.168.95.163 08:45 2:02m 0.07s 0.00s ./redis-cli -p 8123
bppf_eas pts/6 192.168.95.152 Tue13 17:15m 0.05s 0.00s sshd: bppf_eas [priv]
bppf_eas pts/7 192.168.95.152 Tue09 19:40m 0.09s 0.00s sshd: bppf_eas [priv]
- 还有动态命令top,这个命令可以反映系统负载情况,系统会动态地显示内容;
查看Linux系统的其他参数
- 用vmstat监控Linux系统的整体性能,vmstat是一个相当全面的性能分析工具,可以观察到系统的进程状态、内存使用情况、虚拟内存的使用情况、磁盘的I/O、上下文切换、CPU的使用情况等性能信息,建议熟练掌握此命令,如下所示:[bppf_inf@devapp001 ~]$ vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 19240 236516 470084 3537760 0 0 1 6 4 3 0 0 100 0 0
如果r(等待运行的进程数)经常大于系统的逻辑CPU个数,且id(闲置时间)经常少于50,则表示CPU的负荷很重。
查看系统内核
- 查看系统内核主要是为了掌握其版本号,为安装LVS等软件做准备,可以用命令uname -a来查看,如下所示:[bppf_inf@devapp001 ~]$ uname -a
Linux devapp001 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 x86_64 x86_64 GNU/Linux - 如果要查看系统是32位还是64位,可以用如下命令:[bppf_inf@devapp001 ~]$ ls -lF / | grep /$
drwxr-xr-x 2 root root 4096 11-26 12:26 bin/
drwxr-xr-x 4 root root 4096 11-26 11:03 boot/
drwxr-xr-x 14 root root 3900 04-23 13:47 dev/
drwxr-xr-x 106 root root 12288 04-30 04:04 etc/
drwxr-xr-x 13 root root 4096 04-15 14:19 home/
drwxr-xr-x 11 root root 4096 12-19 16:27 lib/
drwxr-xr-x 8 root root 12288 11-26 12:25 lib64/
drwx------ 2 root root 16384 11-26 10:54 lost+found/
drwxr-xr-x 2 root root 4096 04-23 13:45 media/
drwxr-xr-x 2 root root 0 04-23 13:45 misc/
drwxr-xr-x 2 root root 4096 2009-10-01 mnt/
drwxr-xr-x 2 root root 0 04-23 13:45 net/
drwxrwxrwx 10 root root 4096 04-25 09:22 opt/
drwxr-xr-x 6 oracle oinstall 4096 11-26 11:49 oracle/
drwxrwx--- 5 oracle oinstall 4096 11-26 11:49 oraInventory/
dr-xr-xr-x 840 root root 0 04-23 13:43 proc/
drwxr-x--- 22 root root 4096 04-23 13:45 root/
drwxr-xr-x 2 root root 12288 11-26 12:26 sbin/
drwxr-xr-x 2 root root 4096 11-26 10:56 selinux/
drwxr-xr-x 2 root root 4096 2009-10-01 srv/
drwxr-xr-x 11 root root 0 04-23 13:43 sys/
drwxr-xr-x 3 root root 4096 11-26 11:03 tftpboot/
drwxrwxrwt 24 root root 12288 04-30 11:16 tmp/
drwxr-xr-x 14 root root 4096 01-14 15:57 u1/
drwxr-xr-x 15 root root 4096 11-26 11:00 usr/
drwxr-xr-x 25 root root 4096 11-26 11:05 var/
此命令会查找是否有/lib64的目录,有则系统为64位,无则表示系统为32位。
- 另一种常见方法是通过file命令来判断系统中的文件是32位还是64位的,以此作为判断系统的依据,如下所示:[bppf_inf@devapp001 ~]$ file /sbin/init
/sbin/init: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
修改主机名查询静态表/etc/hosts
Linun主机名的相关配置文件就是/etc/hosts,这个文件告诉本机哪些域名对应哪些IP,哪些主机名对应哪些IP。一般/etc/hosts的内容如下:[bppf_inf@devapp001 ~]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 devapp001 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.87.3 zookeeperServer1
通常hosts文件的每行为一个主机的信息,并且每行由3部分组成,各个部分间由空格隔开,这三部分所表示的意思如下:
第一部分:网络IP地址
第二部分:主机名或域名
第三部分:主机名别名
当然每行也可以是两部分,即主机IP地址和主机名。
目前/etc/hosts多用于集群环境或开发环境(以免重新架构内网DNS服务器)。