您的位置:首页 > 运维架构 > Linux

Linux查看系统信息命令

2017-10-26 15:01 323 查看

1.查看内存使用情况

使用命令:free

[app@root ~]$ free
total       used       free     shared    buffers     cached
Mem:       8062340    7734868     327472       4480     227936    6066292
-/+ buffers/cache:    1440640    6621700
Swap:      8208380          0    8208380


如果看到的数字太大(按kb显示),可以添加参数-m,贼会按mb显示数值

[app@root ~]$ free -m
total       used       free     shared  buffers     cached
Mem:          7873       7553        319          4        222       5924
-/+ buffers/cache:       1406       6466
Swap:         8015          0       8015


同理可以添加-g参数,结果显示gb数值

[app@root ~]$ free -g
total       used       free     shared    buffers     cached
Mem:             7          7          0          0          0          5
-/+ buffers/cache:          1          6
Swap:            7          0          7


这里出现了一些名词,有些是我不知道的,我专门去查了一下它们所代表的含义。

total:表示物理内存总量,

used:表示已经使用的内存大小,

free:表示空闲的内存空间大小,也就是没有被分配的内存空间

shared:表示共享内存

buffers:系统分配但未被使用的buffers 数量

cached:表示cache的大小

同样是做为缓存,buffers和cache又有啥区别呢?

  于是又查了些资料,发现buffers实际应该是叫“缓冲”,其英文解释是:A buffer is something that has yet to be “written” to disk.

  就是说,buffers是将要写入硬盘中的数据缓存。

  而cache的英文解释:A cache is something that has been “read” from the disk and stored for later use.

  就是说,cache是从硬盘或者存储设备读进计算机后缓存在内存中的数据。

  想起看《计算机组成原理》的时候,有看到因特尔的cpu与内存之间有cache,这之间好像有什么区别的样子。

  继续查资料,发现了page cache 和 buffer cache。简单说来,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,那么数据会缓存到page cache,如果直接采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache。

  对于cache和buffer,cached是cpu与内存间的,buffer是内存与磁盘间的,都是为了解决速度不对等的问题。

  在free中,buffer 是buffer cache的内存,是块设备的读写缓冲区;cache是page cache的内存, 文件系统的cache。

  关于buffer与chche,这里就不多说了,最后的链接5里讲得挺清楚了。

  这里还有一个名词,Swap,即虚拟内存。当物理内存不够用的时候,就要释放掉一部分空间,以供当前运行程序使用。这些被释放掉的内存的数据就被临时保存在虚拟内存中。但是,并非所有的数据都全被保存,只有那些使用malloc或new生成的对象,他们在文件中并没有相应的“储备”文件,被称为匿名内存数据,需要临时地存进Swap。故Swap又称匿名数据交换空间

参考:Linux下查看内存的使用情况

2.查看磁盘使用情况

df:列出文件系统的整体磁盘使用量;

du:评估文件系统的磁盘使用量(常用于评估目录所占容量)

[root@root app]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
50G  4.3G   43G  10% /
tmpfs                 3.9G  228K  3.9G   1% /dev/shm
/dev/sda1             477M   34M  419M   8% /boot
/dev/mapper/vg_root-lv_home
927G   47G  833G   6% /home


df参数:

-a:列出所有的文件系统,包括系统特有的/proc等文件系统

-k:以KB的容量显示各文件系统

-m:以MB的容量显示各文件系统

-h:以人们较易阅读的GB,MB,KB等格式自行显示

-H:以M=1000K替代M=1024K的进位方式

-T:连同该分区的文件系统名称(例如ext3)也列出

-i:不用硬盘容量,而以inode的数量来显示

3.在Linux下查看操作系统和物理机CPU信息

[root@root app]# uname -a     // 查看系统信息
Linux root 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@root app]# cat /etc/issue  // 查看操作系统版本
CentOS release 6.6 (Final)
Kernel \r on an \m
[root@root app]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l //物理机的cpu个数
2
[root@root app]# cat /proc/cpuinfo| grep "cpu cores"| uniq //查看CPU的核数
cpu cores       : 2

[root@root app]# cat /proc/cpuinfo| grep "processor"| wc -l //查看逻辑CPU的个数
4

[root@root app]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c //查看CPU型号
4  Intel(R) Xeon(R) CPU E7- 4807  @ 1.87GHz


4.查看当前目录下文件的修改时间

使用三个命令:

ls -lc 列出所有文件的 ctime (最后更改时间)
ls -lu 列出所有文件的 atime(最后存取时间)
ls -l 列出所有文件的 mtime (最后修改时间)


使用示例:

dev09@dev80:~/soft/apache-ant-1.8.2$ ls -l
总用量 360
drwxrwxr-x 2 dev09 dev09   4096 Jun 24  2013 bin
drwxrwxr-x 9 dev09 dev09   4096 Jun 24  2013 docs
drwxrwxr-x 3 dev09 dev09   4096 Jun 24  2013 etc
-rw-rw-r-- 1 dev09 dev09  11597 Mar  8  2013 fetch.xml
-rw-rw-r-- 1 dev09 dev09   4445 Mar  8  2013 get-m2.xml
-rw-rw-r-- 1 dev09 dev09    128 Mar  8  2013 INSTALL


在这里会显示总用量,以及每个文件或者文件夹的信息。

这里的-rw-rw-r–我开始不知道代表什么,特意去搜了一下,-rw-rw-r– 1表示的是权限,这里总共是10个字符,分别代表的含义如下:

- 10个字符确定不同用户能对文件干什么

- 第一个字符代表文件(-)、目录(d),链接(l)

- 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)

- 第一组rwx:文件所有者的权限是读、写和执行

- 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行

- 第三组r–:不与文件所有者同组的其他用户的权限是读不能写和执行

信息参考:地址

dev09表示的是创建和修改的用户名,接着是大小,后面是时间,最后是文件名。

如果想看具体的文件名或者文件夹的修改时间怎么办?可以在后面添加文件名参数,比如:

dev09@dev80:~/soft/apache-ant-1.8.2$ ls -l fetch.xml
-rw-rw-r-- 1 dev09 dev09 11597 Mar  8  2013 fetch.xml


这里显示的是fetch.xml文件的最后修改时间。

另外,如果要查看当前文件夹的所有文件及其信息,可以使用ll命令,这是在JDK目录下运行ll的结果:

dev09@dev80:~/jdk/jdk1.7.0_25$ ll
总用量 19732
drwxr-xr-x 8 dev09 dev09     4096 Jun  6  2013 ./
drwxrwxr-x 4 dev09 dev09     4096 Jun 19 20:20 ../
drwxr-xr-x 2 dev09 dev09     4096 Jun  6  2013 bin/
-r--r--r-- 1 dev09 dev09     3339 Jun  6  2013 COPYRIGHT
drwxr-xr-x 4 dev09 dev09     4096 Jun  6  2013 db/
drwxr-xr-x 3 dev09 dev09     4096 Jun  6  2013 include/
drwxr-xr-x 5 dev09 dev09     4096 Jun  6  2013 jre/
drwxr-xr-x 3 dev09 dev09     4096 Jun  6  2013 lib/
-r--r--r-- 1 dev09 dev09       40 Jun  6  2013 LICENSE
drwxr-xr-x 4 dev09 dev09     4096 Jun  6  2013 man/
-r--r--r-- 1 dev09 dev09      114 Jun  6  2013 README.html
-rw-r--r-- 1 dev09 dev09      444 Jun  6  2013 release
-rw-r--r-- 1 dev09 dev09 19852231 Jun  6  2013 src.zip
-rw-r--r-- 1 dev09 dev09   123324 Jun  6  2013 THIRDPARTYLICENSEREADME-JAVAFX.txt
-r--r--r-- 1 dev09 dev09   172252 Jun  6  2013 THIRDPARTYLICENSEREADME.txt


那ls和ll有什么区别呢。那就是ll的信息会更详细一些,而ls知识列出一个列表,ll能列出权限相关的内容,就和ls -l的功能有些相似了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux