查看linux常见信息,查看Linux系统常用信息的方法-Go语言中文社区

简介

在系统运维或调试时,经常需要查看系统信息,如发行版、内核版本、内存、磁盘容量等信息。

一般而言,所有的信息基本上都能够通过系统目录/proc获得,同时也有对应的便于记忆的命令来查看,其实用的多了基本就记住了。

这些信息的获取对调试程序有一定帮助,本文作一小结。

内核版本

查看Linux内核版本及架构,使用:

uname -a

如下:

% uname -a

Linux y-srv 4.4.0-121-generic #145-Ubuntu SMP Fri Apr 13 13:47:23 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

表示:内核版本 4.4.0-121-generic,发行版为 Ubuntu,架构:x86_64。

cat /proc/version 可以得到类似的更详细信息:

% cat /proc/version

Linux version 4.4.0-121-generic (buildd@lcy01-amd64-004) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9) ) #145-Ubuntu SMP Fri Apr 13 13:47:23 UTC 2018

Linux发行版

Linux系统是使用了Linux内核的所有系统的统称,各个使用该内核的厂商又提供了不同的发行版,如RedHat、Debain等。

我使用的是Ubuntu,使用 lsb_release -a 查看发行信息:

% lsb_release -a

No LSB modules are available.

Distributor ID:Ubuntu

Description:Ubuntu 16.04.6 LTS

Release:16.04

Codename:xenial

可见,我使用的是 Ubuntu 16.04版本。lsb是一种标准,安装后会显示版本。

cat /etc/issue 可得到类似信息:

% cat /etc/issue

Ubuntu 16.04.6 LTS n l

cpu信息

需要知道cpu型号、几核等信息,更有利于在并发编程中发挥最大效率。命令lscpu:

% lscpu

Architecture: x86_64

CPU op-mode(s): 32-bit, 64-bit

Byte Order: Little Endian

CPU(s): 8

On-line CPU(s) list: 0-7

Thread(s) per core: 1

Core(s) per socket: 8

Socket(s): 1

NUMA node(s): 1

Vendor ID: GenuineIntel

CPU family: 6

Model: 79

Model name: Intel(R) Xeon(R) CPU E5-2667 v4 @ 3.20GHz

Stepping: 1

CPU MHz: 1200.000

CPU max MHz: 3600.0000

CPU min MHz: 1200.0000

BogoMIPS: 6399.66

Virtualization: VT-x

L1d cache: 32K

L1i cache: 32K

L2 cache: 256K

L3 cache: 25600K

NUMA node0 CPU(s): 0-7

Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt retpoline kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts

可以看出,型号、8核、64位、小端序等信息,更多详细信息可以参考相关文章,以决定合适的线程数量。

通过 cat /proc/cpuinfo可得到每个核心的详细信息。

磁盘空间

查看总体磁盘空间:df -h:

% df -h

Filesystem Size Used Avail Use% Mounted on

udev 32G 0 32G 0% /dev

tmpfs 6.3G 666M 5.7G 11% /run

/dev/mapper/isrv 853G 37G 774G 5% /

1个T的空间足够造了。

查看当前各目录占用的空间:du . -h:

% du . -h

2.7G./testd1

2.6G./testd2

668K./log

5.2G.

它有丰富的参数可以使用,可以指定目录层级。

使用 fdisk -l可以查看磁盘分区等信息,需要root权限。

内存空间

使用free -h查看内存使用情况:

% free -h

total used free shared buff/cache available

Mem: 62G 816M 27G 665M 34G 60G

Swap: 63G 696K 63G

64G空间也够用了。

cpu及内存使用率

查看所有进程使用cpu及内存情况:top:

4847f7d919d26dc366102097c83f7163.png

按 1可获得各个cpu核的信息:

cab60484d7d861a0cad00493e19b8cea.png

可以查看特定进程占用cpu及内存情况ps aux | grep cat。

网络流量

查看设备网络流量是定位问题的关键步骤,方法也比较多,如ifconfig, tcpdump等,也可以使用wireshark抓包。

还可以使用自带界面的工具:iftop,安装即可使用。

它能实时显示网络流量的方向及速率,并具有统计功能。

在显示界面按h显示帮助。

监听的端口

netstat是网络编程中必不可少的调试工具,能够查看网络连接的状态。

由于我经常使用tcp,所以一般使用netstat -antp查看相关信息,包括端口、ip、连接状态等。

可以根据需求使用相关参数netstat -h。

小结

简略地列出了查看Linux系统信息的一些方法,可能还有更简单的方式,读者朋友请不吝留言指出。

工程技术的东西,还是在应用中学习更容易、更深刻。

平时只需要看一下,知道有这么个工具或方法就可以了,不需要死记硬背,用时能找到就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值