查看系统信息:

~# uname -a (Linux查看版本当前操作系统内核信息)
Linux iZ23onhpqvwZ 3.13.0-30-generic #54-Ubuntu SMP Mon Jun 9 22:47:59 UTC 2014 i686 i686 i686 GNU/Linux

查看是否是centos还是ubuntu等:

root@isf:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty

(lsb全称:Linux Standard Base)

查看系统是32为还是64位:

法1:[root@linuxzgf ~]#uname -a

如果有x86_64就是64位的,没有就是32位的

后面是X686或X86_64则内核是64位的,i686或i386则内核是32位的

法2:getconf LONG_BIT

[root@linuxzgf ~]#getconf LONG_BIT

[root@linuxzgf ~]#getconf WORD_BIT

(32位的系统中int类型和long类型一般都是4字节,64位的系统中int类型还是4字节的,但是long已变成了8字节inux系统中可用"getconf WORD_BIT"和"getconf LONG_BIT"获得word和long的位数。64位系统中应该分别得到32和64。)

法3:

直接看看有没有/lib64目目录的方法。64位的系统会有/lib64和/lib两个目录,32位只有/lib一个。

更多方法:

http://www.blogjava.net/baizhihui19870626/articles/382202.html

查看cpu信息:

more /proc/cpuinfo

这个一大堆可能看不懂,一篇文章:linux cpuinfo详解:

在Linux系统中,如何详细了解CPU的信息呢? 当然是通过cat /proc/cpuinfo来检查了,但是比如几个物理CPU/几核/几线程,这些问题怎么确定呢?
经过查看,我的开发机器是1个物理CPU,4核8线程,Intel(R) Core(TM) i7 CPU 860

 @ 2.80GHz
记录一下,判断的过程和知识。

判断依据:
1.具有相同core id的cpu是同一个core的超线程。
2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores。
英文版:
1.Physical id and core id are not necessarily consecutive but they are unique. Any cpu with the same core id are hyperthreads in the same core.
2.Any cpu with the same physical id are threads or cores in the same physical socket.

echo "logical CPU number:"
#逻辑CPU个数
cat /proc/cpuinfo | grep "processor" | wc -l

echo "physical CPU number:"
#物理CPU个数:
cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l

echo "core number in a physical CPU:"

#每个物理CPU中Core的个数:
cat /proc/cpuinfo | grep "cpu cores" | uniq | awk -F: '{print $2}'
#查看core id的数量,即为所有物理CPU上的core的个数
cat /proc/cpuinfo | grep "core id" | uniq |  wc -l

#是否为超线程?
#如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。或者siblings数目比cpu cores数目大。
#每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
cat /proc/cpuinfo | grep "siblings"

/proc/cpuinfo 文件包含系统上每个处理器的数据段落。/proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id 和 cpu cores。
processor 条目包括这一逻辑处理器的唯一标识符。
physical id 条目包括每个物理封装的唯一标识符。
core id 条目保存每个内核的唯一标识符。
siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。
cpu cores 条目包含位于相同物理封装中的内核数量。
如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel。

1.拥有相同 physical id 的所有逻辑处理器共享同一个物理插座。每个 physical id 代表一个唯一的物理封装。
2.Siblings 表示位于这一物理封装上的逻辑处理器的数量。
3.每个 core id 均代表一个唯一的处理器内核。
4.如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,证明一个core上有多个线程,则说明系统支持超线程(HT)技术。
5.core id不同的逻辑处理器physical id相同,则说明这是一个多内核处理器。cpu cores 条目也可以表示是否支持多内核。

判断CPU是否64位,检查cpuinfo中的flags区段,看是否有lm标识。
Are the processors 64-bit?   
A 64-bit processor will have lm ("long mode") in the flags section of cpuinfo. A 32-bit processor will not.

 
------------------------------------------------------
性能检测:
1.uptime
uptime命令用于查看服务器运行了多长时间以及有多少个用户登录,快速获知服务器的负荷情况。
 

uptime的输出包含一项内容是load average,显示了最近1,5,15分钟的负荷情况。它的值代表等待CPU处理的进程数,如果CPU没有时间处理这些进程,load average值会升高;反之则会降低。

关于load average理解:

理解Linux系统中的load average(图文版)

2:top  //直接敲TOP即可。

//系统当前时间、启动时间、当前登录数、平均负载 1、5、15分钟负载值
top - 19:43:46 up 4 days, 10:46,  7 users,  load average: 0.25, 0.37, 0.38    
//进程总数、运行进程数、休眠进程数、终止进程数、僵死进程数    
Tasks: 222 total,   1 running, 221 sleeping,   0 stopped,   0 zombie
//用户占用、系统占用、优先线程占用、闲置线程占用、
Cpu(s):  0.3%us,  0.1%sy,  0.0%ni, 98.5%id,  1.0%wa,  0.0%hi,  0.1%si,  0.0%st
//内存状态(总内存、已用内存、闲置内存、缓存使用内容)
Mem:   8183648k total,  8124052k used,    59596k free,   115072k buffers
//交换内存(总交换内存、已用内存、闲置内存、高速缓存容量)
Swap:  2104472k total,  1369376k used,   735096k free,  1462236k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    1 root      16   0   784   72   40 S    0  0.0   0:06.28 init
    2 root      RT   0     0    0    0 S    0  0.0   0:00.08 migration/0
    3 root      34  19     0    0    0 S    0  0.0   0:00.01 ksoftirqd/0
    4 root      RT   0     0    0    0 S    0  0.0   0:00.29 migration/1
    5 root      34  19     0    0    0 S    0  0.0   0:00.00 ksoftirqd/1
    6 root      RT   0     0    0    0 S    0  0.0   0:00.21 migration/2
    7 root      34  19     0    0    0 S    0  0.0   0:00.05 ksoftirqd/2
    8 root      RT   0     0    0    0 S    0  0.0   0:00.08 migration/3
    9 root      34  19     0    0    0 S    0  0.0   0:00.01 ksoftirqd/3
   10 root      10  -5     0    0    0 S    0  0.0   0:00.02 events/0
   11 root      10  -5     0    0    0 S    0  0.0   0:00.00 events/1

参数详解:top命令式将系统最敏感的参数信息列出来。
PR   :系统进程的分配的处理时间,若是16,则表示分配了16*10毫秒的时间长度来处理该线程。数值越大,代表处理时间越长。
NI   :该进程的优先级
RES  :该进程占用的物理内存的总数量,单位是KB。 
SHR(SHARE) :该进程使用共享内存的数量。单位是KB
S(STAT) :该线程的状态 
        S:代表休眠状态;
        D:代表不可中断的休眠状态;
        R:代表运行状态;
        Z:代表僵死状态;
        T:代表停止或跟踪状态。 
%CPU :该进程自最近一次刷新以来所占用的CPU时间和总时间的百分比
%MEM :该进程占用的物理内存占总内存的百分比。
TIME+:该线程启动以来,占CPU的时间

常见用法:
top -d 3    //每三秒刷新一次数据 默认是每5秒刷新一次数据
Ctrl+L      //擦除并且重写屏幕。

3:Free

free命令显示系统的所有内存的使用情况,包括空闲内存、被使用的内存和交换内存空间。Free命令显示也包括一些内核使用的缓存和缓冲区的信息。     当使用free命令的时候,需要记住Linux的内存结构和虚拟内存的管理方法,比如空闲内存数量的限制,还有swap空间的使用并不标志一个内存瓶颈的出现。   

root@iZ23onhpqvwZ:~# free
total used free shared buffers cached
Mem: 1025632 949516 76116 656 144084 459500
-/+ buffers/cache: 345932 679700
Swap: 0 0 0

我的linux执行free命令显示如下:

[root@Linux /tmp]# free
             total       used       free     shared    buffers     cached
Mem:       4149156    4130412      18744          0      13220    2720160
-/+ buffers/cache:    1397032    2752124
Swap:      6289408        144    6289264第1行
total 内存总数: 4149156
used 已经使用的内存数: 4130412
free 空闲的内存数: 18744
shared 当前已经废弃不用,总是0
buffers Buffer Cache内存数: 13220
cached Page Cache内存数: 2720160

关系:total = used + free

第2行:
-/+ buffers/cache的意思相当于:
-buffers/cache 的内存数:1397032 (等于第1行的 used - buffers - cached)
+buffers/cache 的内存数: 2752124 (等于第1行的 free + buffers + cached)
2个加起来是total。
可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。

第三行单独针对交换分区, 就不用再说了.

为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。

如果感兴趣可以进一步参考文件/proc/meminfo,free命令就是根据它的信息生成的。free命令的源码可从procps-xxx-.src.rpm获取,xxx为版本号,比如procps-3.2.3-5.3.src.rpm。

参考内核代码:

arch/i386/mm/init.c
fs/proc/proc_misc.c
include/linux/swap.h
mm/filemap.c
fs/buffer.c

另外还可以参考O'REILLY的书《Understanding the LINUX KERNEL》。

更多;

http://www.cnblogs.com/itech/archive/2011/06/08/2075145.html

http://blog.chinaunix.net/uid-26941022-id-3397961.html

Linux查看系统信息及系统性能检测命令的更多相关文章

  1. [转]linux 查看系统信息命令

    linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有 ...

  2. linux查看系统信息命令

    本文转载自江一<linux查看系统信息命令> # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /p ...

  3. linux 查看系统信息命令(比较全)

    linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有 ...

  4. linux 查看系统信息命令

    linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有 ...

  5. Linux查看文件大小5个常用命令

    1. 前言 Linux 系统有非常好用的命令,功能也非常丰富,如果你对命令行工具熟悉,可以非常高效率完成维护工具.本文主要介绍Linux系统中,用于查看文件大小的命令. Linux 查看文件大小5个常 ...

  6. Linux查看系统信息的一些命令及查看已安装软件包的命令

    转自:http://cheneyph.iteye.com/blog/824746 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看 ...

  7. Linux查看系统信息的命令及已安装软件包的命令

    系统 uname -a查看内核/操作系统/CPU信息head -n 1 /etc/issue查看操作系统版本cat /proc/cpuinfo查看CPU信息hostname查看计算机名lspci -t ...

  8. (十)Linux查看系统信息的一些命令及查看已安装软件包的命令

    转自:http://cheneyph.iteye.com/blog/824746 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看 ...

  9. 【linux】 linux 查看系统信息

    1.输入"uname -a ",可显示电脑以及操作系统的相关信息. 2.输入"cat /proc/version",说明正在运行的内核版本. 3.输入" ...

随机推荐

  1. nginx+keepalived构建高可用服务

    1.整体环境规划 虚拟IP:10.0.4.248 主Nginx:10.0.4.249 备用Nginx:10.0.4.250 2.keepalived安装 #cd /usr/local/src #wge ...

  2. tomocat解决乱码问题

    使用Tomcat进行JSP开发最头疼的莫过于中文乱码问题了,总结Tomcat乱码问题出现的原因必须明白以下几点: 1.Tomcat一般总是默认使用ISO-8859-1作为字符编码方式的.所以,除非你在 ...

  3. jQuery实现浮动层跟随页面滚动效果

      helloweba.com Author:月光光 Time:2010-11-29 09:02 Tag: jquery  滚动 在本文中,我将介绍一个可以跟随页面滚动的层效果,当用户滚动鼠标滚轮或者 ...

  4. net 代码生成

    http://blog.csdn.net/tcjiaan/article/details/7764858

  5. 第一百四十七节,封装库--JavaScript,滑动导航

    JavaScript,封装库--滑动导航 效果图 html <!--滑动导航--> <div id="nav"> <ul class="ab ...

  6. 开启GitHub模式,now!

    (原文地址为:http://www.karottc.com/blog/2014/06/15/current-doing/) 最近看到了一篇文章,该文章的作者将自己连续177天在github上commi ...

  7. [转]移动互联网应用技术架构简介-Restful服务

    Restful是基于网络的软件系统架构风格.其优先考虑分布性和扩展性,而不是安全.错误处理.对象映射. 所以Restful架构特别适用的场合为用户快速增长的互联网和移动互联网领域,看起来很容易理解,以 ...

  8. shell学习三十八天----运行顺序和eval

    运行顺序和eval shell从标准输入或脚本中读取的每一行称为管道,它包括了一个或多个命令,这些命令被一个或多个管道字符(|)隔开. 其实嗨哟非常多特殊符号可用来切割单个的命令:分号(;),管道(| ...

  9. [CB2]start up

    1.更新源 From:http://cubie.cc/forum.php?mod=viewthread&tid=3054&extra= sudo emacs 打开/etc/apt/so ...

  10. 【python】模块测试 if name main

    verbose=1 def listing(module): if verbose: print '-'*30 print 'name:',module.__name__,'file:',module ...