到手一个东西, 大到汽车, 小到手机, 除了知道如何使用之外, 进一步了解他们才能更好地发挥出它们的能力.
那么如何去了解, 对于一个人而言我们要去了解他的特长, 而对于机器而言, 我们要了解的是具体参数, 比如汽车我们需要了解它的动力.
对于生物信息工作者而言, Linux 系统服务器最熟悉不过, 那么如何通过简单的命令对 Linux 服务器进行最快的了解.
[存储空间] df -h
df 命令作用是列出文件系统的整体磁盘空间使用情况. 可以用来查看磁盘已被使用多少空间和还剩余多少空间.
而 df -h 则是以人们易读的方式展示.
- [root@localhost home]# df -h
- Filesystem Size Used Avail Use% Mounted on
- /dev/mapper/cl-root 50G 36G 15G 71% /
- /dev/sda1 1014M 227M 788M 23% /boot
- /dev/mapper/cl-home 1.8T 450G 1.4T 25% /home
Filesystem: 代表该文件系统时哪个分区, 所以列出的是设备名称.
Mounted on: 磁盘挂载的目录, 即该磁盘挂载到了哪个目录下面.
[内存] free -h
free 命令可以显示 Linux 系统中空闲的, 已用的物理内存及 swap 内存, 及被内核使用的 buffer.
一般用 free -h 方式查看内存占用情况(同样是适于人类阅读)
- [root@localhost home]# free -h
- total used free shared buffers cached
- Mem: 126G 124G 2.0G 1.6M 626M 118G
- -/+ buffers/cache: 4.5G 121G
- Swap: 15G 40M 15G
注解:-buffers/cache 反映的是被程序实实在在吃掉的内存(本例中,-buffers/cache 的内存数是 4.5G, 即等于 Mem 行的 used- buffers - cached), 而 + buffers/cache 反映的是可以挪用的内存总数(本例中,+buffers/cache 的内存数是 121G, 即等于 Mem 行的 free + buffers + cached).
Swap 行数据是交换分区 SWAP 的, 也就是我们通常所说的虚拟内存. 当你看见 buffer/cache 的空闲空间低或者 swap 的空闲空间低, 说明内存需要升级了. 这意味这内存利用率很高. 请注意 shared(共享)内存列应该被忽略 , 因为它已经被废弃了.
以上关于 free -h 的注解, 部分参考自 https://www.cnblogs.com/kex1n/p/6010496.html.
关于 buffers 和 cache 的解释, 来自知乎 https://www.zhihu.com/question/26190832 的解释, 比较容易懂.
Buffer 的核心作用是用来缓冲, 缓和冲击. 比如你每秒要写 100 次硬盘, 对系统冲击很大, 浪费了大量时间在忙着处理开始写和结束写这两件事嘛. 用个 buffer 暂存起来, 变成每 10 秒写一次硬盘, 对系统的冲击就很小, 写入效率高了. Cache 的核心作用是加快取用的速度. 比如你一个很复杂的计算做完了, 下次还要用结果, 就把结果放手边一个好拿的地方存着, 下次不用再算了. 加快了数据取用的速度. 所以, 如果你注意关心过存储系统的话, 你会发现硬盘的读写缓冲 / 缓存名称是不一样的, 叫 write-buffer 和 read-cache. 很明显地说出了两者的区别.
[CPU] cat /proc/cpuinfo
利用 cat 查看服务器 cpu info
- [root@localhost home]# cat /proc/cpuinfo|grep "processor" |wc -l
- 32
- [root@localhost home]# cat /proc/cpuinfo|grep "physical id" |sort|uniq|wc -l
- 4
- [root@localhost home]# cat /proc/cpuinfo|grep "cpu cores" |uniq
- cpu cores : 8
注解: 以上三个命令从上自下分别代表总逻辑 CPU 数: 32;物理 CPU 个数: 4, 这边如果是 2 就代表着是两路服务器, 4 则是四路服务器;每颗物理 CPU 的核数: 8. 总逻辑 CPU 数 = 物理 CPU 个数 × 每颗物理 CPU 的核数. 如果存在超线程技术, 那么可以让单核模拟多核心工作, 单核心具有两个线程. 那么, 总逻辑 CPU 数 = 物理 CPU 个数 × 每颗物理 CPU 的核数 × 超线程数.
[内核 | 操作系统]
查看内核版本 cat /proc/version | uname -a
查看操作系统 lsb_release -a | cat /etc/redhat-release | cat /etc/issue
- [root@tc6000 EVM_combine]# cat /proc/version
- Linux version 2.6.32-642.el6.x86_64 (mockbuild@worker1.bsys.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) ) #1 SMP Tue May 10 17:27:01 UTC 2016
- [root@tc6000 EVM_combine]# uname -a
- Linux tc6000 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
- #cat /proc/version 和 uname -a 均可以查看到内核版本为 2.6.32-642.el6.x86_64
- #2.6.32 代表版本号 -642 代表版本号
- #el6 代表 发行版版本标识, RHEL6\CentOS6\Oracle Linux6 一般都是 el6
- #x86_64 代表 64 位系统 一般 i386 代表是 32 位
- [root@tc6000 EVM_combine]# lsb_release -a
- LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
- Distributor ID: CentOS
- Description: CentOS release 6.8 (Final)
- Release: 6.8
- Codename: Final
- [root@tc6000 EVM_combine]# cat /etc/redhat-release
- CentOS release 6.8 (Final)
- [root@tc6000 EVM_combine]# cat /etc/issue
- CentOS release 6.8 (Final)
- Kernel \r on an \m
- #lsb_release -a cat /etc/redhat-release cat /etc/issue 三个命令都得到操作系统是 CentOS, 但这三个命令并不适用每台 linux 机器
这里块命令比较多, 注解就写在代码中.
来源: http://server.51cto.com/sOS-582860.htm