linux系统下查看系统信息命令

合集下载

9个Linux查看系统硬件信息命令(实例详解)

9个Linux查看系统硬件信息命令(实例详解)

9个Linux查看系统硬件信息命令(实例详解)在Linux下,我们精要遇到需要查看系统的硬件信息,这⾥我罗列了查看系统硬件信息的实⽤命令,并做了分类,实例解说。

执⾏环境:ubuntu 16.041. cpulscpu命令,查看的是cpu的统计信息.root@ubuntu:/home/peng/# lscpuArchitecture: x86_64 #cpu架构CPU op-mode(s): 32-bit, 64-bitByte Order: Little Endian #⼩尾序CPU(s): 1 #总共有1核On-line CPU(s) list: 0Thread(s) per core: 1 #每个cpu核,只能⽀持⼀个线程,即不⽀持超线程Core(s) per socket: 1Socket(s): 1NUMA node(s): 1Vendor ID: GenuineIntel #cpu产商 intelCPU family: 6Model: 158Model name: Intel(R) Core(TM) i5-7500 CPU @ 3.40GHzStepping: 9CPU MHz: 3408.070BogoMIPS: 6816.14Hypervisor vendor: VMwareVirtualization type: full #⽀持cpu虚拟化技术L1d cache: 32KL1i cache: 32KL2 cache: 256KL3 cache: 6144KNUMA node0 CPU(s): 0查看/proc/cpuinfo,可以知道每个cpu信息,如每个CPU的型号,主频等。

root@ubuntu:/home/peng# cat /proc/cpuinfoprocessor : 0vendor_id : GenuineIntelcpu family : 6model : 158model name : Intel(R) Core(TM) i5-7500 CPU @ 3.40GHzstepping : 9microcode : 0x48cpu MHz : 3408.070cache size : 6144 KBphysical id : 0siblings : 1core id : 0cpu cores : 1apicid : 0initial apicid : 0fpu : yesfpu_exception : yescpuid level : 22wp : yes.....2. 内存概要查看内存情况root@ubuntu:/home/peng# free -mtotal used free shared buff/cache availableMem: 1970 702 315 13 952 1025Swap: 974 20 954这⾥的单位是MB,总共的内存是1970MB。

Linux中的8种查看命令

Linux中的8种查看命令

Linux中的8种查看命令01查看系统内核版本显⽰了系统名称(CentOS)和内核版本(release 6.5)The file /etc/issue is a text file which contains a message or system identification to be printed before the login prompt. 02查看系统信息uname -a :显⽰系统名、节点名称、操作系统的发⾏版号、操作系统版本、运⾏系统的机器 ID 号03查看磁盘空间占⽤情况参数:-h:⽅便阅读-a:全部⽂件系统列表04查看内存⼀、free命令第2⾏:otal 内存总数: 3072【注意单位是M,可以⽤参数-hm更醒⽬】used 已经使⽤的内存数: 2459free 空闲的内存数: 612shared 当前已经废弃不⽤,总是0buffers: Buffer Cache内存数: 207cached: Page Cache内存数: 2803关系:total = used + free第3⾏:-/+ buffers/cache的意思:-buffers/cache 的内存数: 447 (等于第1⾏的 used - buffers - cached)+buffers/cache 的内存数: 2624 (等于第1⾏的 free + buffers + cached)注:此处的内存数在⽤上⾯式⼦计算后,在⼤⼩上有⼀点点出⼊(还不知道是什么原因)。

可见-buffers/cache反映的是被程序实实在在吃掉的内存,⽽+buffers/cache反映的是可以挪⽤的内存总数。

05查看cpu内核数06查看系统负载当前时间 15:41:09系统已运⾏的时间 42min当前在线⽤户 2 user平均负载:0.54, 0.40, 0.20,最近1分钟、5分钟、15分钟系统的负载何为系统负载呢?系统平均负载被定义为在特定时间间隔内运⾏队列中的平均进程数⽬。

系统信息查询Linux终端命令uname和lsbrelease的解析

系统信息查询Linux终端命令uname和lsbrelease的解析

系统信息查询Linux终端命令uname和lsbrelease的解析在Linux操作系统中,有许多命令可以用于查询系统的信息。

其中,uname和lsb_release是最常用的两个命令,可用于获取关于操作系统的详细信息。

本文将对这两个命令进行解析,包括命令的功能和使用方法。

一、uname命令uname命令用于显示操作系统的详细信息,包括内核名称、主机名、操作系统名称、版本号等。

我们可以在终端中输入以下命令来使用uname:```uname [option]```uname命令的常用选项包括:1. -a:显示系统的所有信息,等同于使用"uname -s -n -r -v -m -p -i -o"选项;2. -s:显示内核名称;3. -n:显示主机名;4. -r:显示内核版本号;5. -v:显示内核发布日期;6. -m:显示计算机类型;7. -p:显示处理器类型;8. -i:显示硬件平台;9. -o:显示操作系统名称;例如,如果我们想要查看操作系统的版本号,可以在终端中输入以下命令:```uname -r```这将返回操作系统的内核版本号。

二、lsb_release命令lsb_release命令是Linux Standard Base (LSB) 的一部分,用于显示LSB信息,包括操作系统的标识、版本号等。

我们可以在终端中输入以下命令来使用lsb_release:```lsb_release [option]```lsb_release命令的常用选项包括:1. -a:显示所有信息,包括操作系统的标识、版本号、发行号、发行日期等;2. -i:显示操作系统的标识;3. -r:显示操作系统的版本号;4. -c:显示操作系统的发行号;5. -d:显示操作系统的描述信息;6. -m:显示操作系统的发行日期;例如,如果我们想要查看操作系统的版本号,可以在终端中输入以下命令:```lsb_release -r```这将返回操作系统的版本号。

Linux终端硬件信息查看命令行获取系统硬件信息

Linux终端硬件信息查看命令行获取系统硬件信息

Linux终端硬件信息查看命令行获取系统硬件信息在Linux系统中,我们经常需要查看硬件信息以了解电脑的配置和性能。

本文将介绍一些常用的命令行工具,帮助您快速获取系统的硬件信息。

1. 查看CPU信息首先,让我们来查看CPU的相关信息。

在终端中执行以下命令:```$ cat /proc/cpuinfo```这个命令会显示出CPU的详细信息,包括型号、频率、核心数等。

2. 查看内存信息接下来,我们来获取系统内存的信息。

在终端中执行以下命令:```$ cat /proc/meminfo```这个命令会显示出内存的详细信息,包括总内存、可用内存、使用中的内存等。

3. 查看硬盘信息Linux系统中,我们可以使用`df`命令来查看硬盘的使用情况。

在终端中执行以下命令:```$ df -h```这个命令会列出系统中所有硬盘的使用情况,包括挂载点、文件系统类型、可用空间等。

4. 查看网络接口信息要查看网络接口的信息,可以使用`ifconfig`命令。

在终端中执行以下命令:```$ ifconfig```这个命令会显示出系统中所有的网络接口,包括IP地址、MAC地址等。

5. 查看显卡信息如果您想获取显卡的信息,可以使用`lspci`命令。

在终端中执行以下命令:```$ lspci -v | grep VGA```这个命令会显示出系统中的显卡信息,包括厂商、型号等。

6. 查看USB设备信息要查看已连接的USB设备信息,可以使用`lsusb`命令。

在终端中执行以下命令:```$ lsusb```这个命令会列出系统中所有的USB设备,包括厂商、型号等。

7. 查看BIOS信息最后,我们来获取系统的BIOS信息。

在终端中执行以下命令:```$ sudo dmidecode -t bios```这个命令会显示出系统的BIOS信息,包括厂商、版本等。

以上就是获取Linux系统硬件信息的常用命令行工具。

通过这些命令,您可以快速查看系统的配置和性能情况,帮助您更好地了解和管理自己的电脑。

Linux终端命令系统资源占用情况查看

Linux终端命令系统资源占用情况查看

Linux终端命令系统资源占用情况查看在Linux操作系统中,终端命令可以帮助我们查看系统资源的占用情况,从而更好地管理和优化系统性能。

本文将介绍一些常用的Linux终端命令,用于查看系统资源占用情况。

1. top命令top命令是一个非常常用的命令,可以实时监控系统的运行情况。

通过输入top命令,我们可以查看当前系统中各个进程的资源占用情况,包括CPU、内存、Swap等。

在top界面下,按下“Shift+M”可以按照内存占用情况进行排序,按下“Shift+P”可以按照CPU占用情况进行排序。

2. free命令free命令可以查看系统的内存使用情况。

通过输入free命令,我们可以获取系统的物理内存、已使用的内存、空闲的内存,以及Swap区的使用情况。

命令输出中的"-/+ buffers/cache"表示已经使用的内存不仅包括实际使用的内存,还包括系统缓存的内存。

3. vmstat命令vmstat命令可以提供关于系统虚拟内存、进程、内存、I/O等方面的统计信息。

通过输入vmstat命令,我们可以实时查看系统的运行状况。

命令输出中的"r"表示等待CPU时间片的进程数量,"us"表示用户级别的CPU占用率,"sy"表示内核级别的CPU占用率,"wa"表示等待I/O操作的CPU占用率。

4. iostat命令iostat命令用于查看系统的I/O设备的使用情况。

通过输入iostat命令,我们可以查看磁盘IO、虚拟内存、CPU利用率等统计信息。

命令输出中的"tps"表示每秒钟的传输次数,"r/s"表示每秒钟的读操作次数,"w/s"表示每秒钟的写操作次数,"%util"表示设备的利用率。

5. df命令df命令用于查看系统的磁盘空间使用情况。

linux系统信息查询命令集

linux系统信息查询命令集

linux系统信息查询命令集1.查看内核版本命令:[root@test asianux-release]# cat /proc/version2.查看linux系统版本1)[root@test asianux-release]# lsb_release -aLSB Version: 3.0Distributor ID: AsianuxDescription: Asianux release 2.0 (Trinity SP2)Release: 2.0Codename: TrinitySP22)[root@test etc]# ls -trl /etc/*release*-rw-r--r-- 1 root root 18 8?? 5 2005 lsb-release-rw-r--r-- 1 root root 56 11?? 16 2006 redhat-release-rw-r--r-- 1 root root 45 11?? 24 2006 redflag-release-rw-r--r-- 1 root root 33 11?? 24 2006 miraclelinux-release-rw-r--r-- 1 root root 41 11?? 24 2006 haansoft-release-rw-r--r-- 1 root root 34 11?? 30 2006 asianux-release3)[root@test etc]# rpm -q redhat-releaseredhat-release-4AS-5.5.1AX3.查看系统是32位还是64位1)[root@test etc]# getconf LONG_BIT32[root@test ~]# getconf WORD_BIT322)[root@test etc]# file /sbin/init/sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped4.查看路由表[root@test ~]# netstat -rnKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth00.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth05.查看打开了哪些端口[root@test ~]# netstat -anActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:113 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:21 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:23 0.0.0.0:* LISTENtcp 0 0 127.0.0.1:34220 127.0.0.1:1158 ESTABLISHEDtcp 0 0 127.0.0.1:34216 127.0.0.1:1158 ESTABLISHEDtcp 0 0 127.0.0.1:34153 127.0.0.1:1521 ESTABLISHEDtcp 0 0 127.0.0.1:34218 127.0.0.1:1521 ESTABLISHEDtcp 0 0 127.0.0.1:34201 127.0.0.1:1521 ESTABLISHEDtcp 0 0 :::32768 :::* LISTENtcp 0 0 :::3938 :::* LISTENtcp 0 0 :::1158 :::* LISTENtcp 0 0 :::5520 :::* LISTENtcp 0 0 :::6000 :::* LISTENtcp 0 0 :::1521 :::* LISTENtcp 0 0 :::22 :::* LISTENtcp 0 0 ::1:34211 ::1:34210 TIME_W AITtcp 0 0 ::ffff:192.168.1.88:22 ::ffff:192.168.1.54:53041 ESTABLISHED tcp 0 0 ::ffff:127.0.0.1:1521 ::ffff:127.0.0.1:34153 ESTABLISHEDtcp 0 52 ::ffff:192.168.1.88:22 ::ffff:192.168.1.54:53021 ESTABLISHED tcp 0 0 ::ffff:127.0.0.1:1521 ::ffff:127.0.0.1:34201 ESTABLISHEDtcp 67 0 ::ffff:127.0.0.1:1158 ::ffff:127.0.0.1:34220 ESTABLISHEDtcp 67 0 ::ffff:127.0.0.1:1158 ::ffff:127.0.0.1:34216 ESTABLISHEDtcp 0 0 ::ffff:127.0.0.1:1521 ::ffff:127.0.0.1:34218 ESTABLISHED udp 0 0 192.168.1.88:9022 202.103.24.68:53 ESTABLISHED udp 0 304 192.168.1.88:9024 202.103.44.150:53 ESTABLISHED udp 0 0 ::1:9003 :::*udp 0 0 ::1:9004 :::*udp 0 0 ::1:9005 :::*udp 0 0 :::9010 :::*Active UNIX domain sockets (servers and established)Proto RefCnt Flags Type State I-Node Pathunix 2 [ ACC ] STREAM LISTENING 65085 /var/tmp/.oracle/s#13317.1 unix 2 [ ACC ] STREAM LISTENING 65087 /var/tmp/.oracle/s#13317.2 unix 2 [ ACC ] STREAM LISTENING 5914 /tmp/.font-unix/fs7100 unix 2 [ ACC ] STREAM LISTENING 7147 /tmp/.X11-unix/X0unix 2 [ ] DGRAM 6010 @/var/run/hal/hotplug_socketunix 2 [ ACC ] STREAM LISTENING 5680 /var/run/acpid.socketunix 5 [ ] DGRAM 5543 /dev/logunix 2 [ ] DGRAM 3141 @udevdunix 2 [ ACC ] STREAM LISTENING 5977 /var/run/dbus/system_bus_socket unix 2 [ ] DGRAM 67520unix 2 [ ] STREAM CONNECTED 67359unix 3 [ ] STREAM CONNECTED 7627 /tmp/.X11-unix/X0unix 3 [ ] STREAM CONNECTED 7626unix 3 [ ] STREAM CONNECTED 7612 /tmp/.font-unix/fs7100unix 3 [ ] STREAM CONNECTED 7611unix 3 [ ] STREAM CONNECTED 7616 /tmp/.X11-unix/X0unix 3 [ ] STREAM CONNECTED 7153unix 3 [ ] STREAM CONNECTED 6009 /var/run/dbus/system_bus_socket unix 3 [ ] STREAM CONNECTED 6008unix 3 [ ] STREAM CONNECTED 5980unix 3 [ ] STREAM CONNECTED 5979unix 2 [ ] DGRAM 5842unix 2 [ ] DGRAM 5804unix 2 [ ] DGRAM 5551查看端口对应的服务[oracle@test ~]$ cat /etc/services | grep -w "21"# 21 is registered to ftp, but also used by fspftp 21/tcpftp 21/udp fsp fspd。

如何在Linux终端中进行系统信息查看

如何在Linux终端中进行系统信息查看

如何在Linux终端中进行系统信息查看Linux操作系统以其高度的自定义性和强大的命令行工具而闻名。

在Linux终端中,您可以轻松地查看和探索系统的各种信息。

本文将介绍一些常用的命令和技巧,帮助您在Linux终端中进行系统信息查看。

一、查看系统基本信息1. uname命令uname命令用于显示系统的基本信息,包括内核版本、操作系统版本等。

在终端中输入以下命令:```bashuname -a```该命令将输出系统的完整信息,包括内核版本、硬件架构等。

2. lsb_release命令lsb_release命令用于显示Linux发行版的信息。

在终端中输入以下命令:```bashlsb_release -a```该命令将输出Linux发行版的名称、版本号等详细信息。

3. cat /etc/os-release命令该命令用于显示操作系统的信息。

在终端中输入以下命令:```bashcat /etc/os-release```该命令将输出操作系统的名称、版本号等详细信息。

二、查看硬件信息1. lscpu命令lscpu命令用于显示系统的CPU信息。

在终端中输入以下命令:```bashlscpu```该命令将输出CPU的型号、架构、核心数等详细信息。

2. lsusb命令lsusb命令用于显示系统中连接的USB设备信息。

在终端中输入以下命令:```bashlsusb该命令将输出USB设备的厂商、型号等详细信息。

3. lspci命令lspci命令用于显示系统中PCI设备的信息。

在终端中输入以下命令:```bashlspci```该命令将输出PCI设备的厂商、型号等详细信息。

三、查看内存和磁盘信息1. free命令free命令用于显示系统的内存使用情况。

在终端中输入以下命令:```bashfree -h```该命令将输出系统的总内存、已使用内存和空闲内存等详细信息。

2. df命令df命令用于显示磁盘的使用情况。

在终端中输入以下命令:```bash```该命令将输出磁盘分区的大小、已使用空间和可用空间等详细信息。

使用Linux终端来查看系统信息

使用Linux终端来查看系统信息

使用Linux终端来查看系统信息Linux终端是Linux操作系统中一个重要的工具,通过它可以方便地查看系统的各种信息。

本文将以使用Linux终端查看系统信息为主题,介绍几种常见的命令和方法。

1. 查看系统版本信息使用以下命令可以查看当前Linux系统的版本信息:```lsb_release -a```该命令会显示系统的发行版本、版本号、描述等详细信息,包括系统的内核版本等。

2. 查看CPU信息若要查看系统的CPU信息,可以使用`lscpu`命令:```lscpu```该命令能够显示CPU的型号、架构、频率、缓存大小等详细信息。

3. 查看内存信息使用以下命令可以查看系统的内存使用情况:```free -h```该命令将以人类可读的方式显示系统内存的容量、已使用量和剩余量等信息。

4. 查看硬盘信息若要查看系统的硬盘信息,可以使用`df`命令:```df -h```该命令将显示系统所有挂载的硬盘分区的使用情况,包括分区的总容量、已使用量和剩余量等详细信息。

5. 查看网络信息如果要查看系统的网络信息,可以使用命令`ip addr`:```ip addr```该命令将显示系统的网络接口信息,包括接口名称、IP地址、MAC地址等。

6. 查看正在运行的进程若要查看系统中正在运行的进程,可以使用`ps`命令:```ps -aux```该命令将列出系统中所有的进程,并显示每个进程的详细信息,包括进程的ID、所属用户、运行状态等。

7. 查看系统日志Linux系统的日志记录了系统在运行过程中的各种事件和错误信息。

可以使用`journalctl`命令查看系统日志:```journalctl -xe```该命令将显示最近的系统日志信息,包括日志的级别、时间、来源等。

8. 查看网络连接信息若要查看系统的网络连接信息,可以使用命令`netstat`:```netstat -tuln```该命令将显示当前系统的网络连接状态,包括本地地址、远程地址、连接状态等信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux的文件系统中,有一个特殊目录“/proc”,该目录下列出的文件并非保存在磁盘上,而是内存中的一个映像。

在该目录下可以找到许多有意思的东西,例如:/proc/cpuinfo 本机CPU的相关信息;/proc/meminfo 本机内存及交换分区的使用信息;/proc/modules 本机已安装的硬件模块信息;/proc/mounts 本机已挂载mount 上的设备信息;此外,该目录下有一些以数字为名称的子目录,每个子目录用于维护一个正在运行的进程,而目录名即为相应的进程ID。

例如进入名称为“1” 的子目录:cd /proc/1该目录下文件“cmdline” 中的内容为该进程运行时执行的命令行;“environ”文件中的内容为该进程运行时的环境变量信息;“stat” 文件中存放的时该进程运行的状态信息等。

通过查看“ /proc” 目录下的文件,可以获取几乎所有的系统信息及系统的运行状态信息。

事实上,Linux下的诸多查询系统状态信息的命令,也是通过读取该目录下的文件而获取的。

以下是一些用于查看系统状态信息的命令:df 命令用于查看Linux 文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。

如:df -k 以千字节(KB)为单位显示各分区的信息;df -a 显示所有分区,包括大小为0 的分区;df -T 显示分区类型(EXT2 或EXT3等)。

du 命令用于查看文件或文件夹的大小。

如:du -b /home 以字节为单位显示“ /home ”文件夹下各个子文件夹的大小;du -ks home 以千字节(KB)为单位显示“/home” 文件夹的总大小;top 命令(第三页有详细的图形介绍top命令)用于实时查看系统状态信息。

运行该命令后,屏幕上会显示如下信息:CPU状态(CPU states):包括用户进程占用比率、系统进程占用比率、用户的nice 优先级进程占用比率及空闲CPU资源比率等;内存状态(Mem):包括内存总量、使用量、空闲量等;交换分区状态(Swap):包括交换分区总量、使用量、空闲量等;每个进程的状态:包括进程ID、用户名、优先级、CPU和内存使用量,以及运行该进程时执行的命令行;执行top 命令后,每隔5 秒,系统会自动刷新一次状态信息,如果要指定刷新间隔,在启动时加入“-d” 参数即可。

例如:top -d 1 启动top ,并且每隔1 秒刷新一次。

进入top 后,按下如下按钮会有相应功能:【空格】立即刷新显示信息;【M】按内存使用量排序;【N】按进程ID 排序;【P】按CPU使用量排序;【c】扩展命令行信息,显示完整的命令行;【?】显示帮助信息;【q】退出top 程序。

iostat 命令统计并输出CPU使用信息及特定设备或分区的IO 信息。

iostat -c 仅显示CPU使用情况统计信息;iostat -d 仅显示设备/分区使用情况统计信息;iostat -d 2 统计设备/分区使用情况,并每隔2 秒刷新一次;显示的IO 统计信息中,各部分说明如下:tps 设备每秒收到的IO 传送请求数;Blk_read/s 设备每秒读入的块数量;Blk_wrtn/s 设备每秒写入的块数量;Blk_read 设备读入的总块数量;Blk_wrtn 设备写入的总块数量;显示的CPU统计信息各部分的含义同top。

【top视图01】是刚进入top的基本视图,我们来结合这个视图讲解各个数据的含义。

top视图01第一行:10:01:23 —当前系统时间126 days, 14:29 —系统已经运行了126天14小时29分钟(在这期间没有重启过)2 users —当前有2个用户登录系统load average: 1.15, 1.42, 1.44 —load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。

如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行:Tasks —任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

第三行:cpu状态6.7% us —用户空间占用CPU的百分比。

0.4% sy —内核空间占用CPU的百分比。

0.0% ni —改变过优先级的进程占用CPU的百分比92.9% id —空闲CPU百分比0.0% wa —IO等待占用CPU的百分比0.0% hi —硬中断(Hardware IRQ)占用CPU的百分比0.0% si —软中断(Software Interrupts)占用CPU的百分比第四行:内存状态8306544k total —物理内存总量(8GB)7775876k used —使用中的内存总量(7.7GB)530668k free —空闲内存总量(530M)79236k buffers —缓存的内存量(79M)第五行:swap交换分区2031608k total —交换区总量(2GB)2556k used —使用的交换区总量(2.5M)2029052k free —空闲交换区总量(2GB)4231276k cached —缓冲的交换区总量(4GB)这里要说明的是不能用windows的内存概念理解这些数据,如果按windows的方式此台服务器“危矣”:8G的内存总量只剩下530M的可用内存。

Linux的内存管理有其特殊性,复杂点需要一本书来说明,这里只是简单说点和我们传统概念(windows)的不同。

第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。

纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。

如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:530668+79236+4231276 = 4.7GB。

对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

第六行是空行第七行以下:各进程(任务)的状态监控PID —进程idUSER —进程所有者PR —进程优先级NI —nice值。

负值表示高优先级,正值表示低优先级VIRT —进程使用的虚拟内存总量,单位kb。

VIRT=SWAP+RESRES —进程使用的、未被换出的物理内存大小,单位kb。

RES=CODE+DA TASHR —共享内存大小,单位kbS —进程状态。

D=不可中断的睡眠状态R=运行S=睡眠T=跟踪/停止Z=僵尸进程%CPU —上次更新到现在的CPU时间占用百分比%MEM —进程使用的物理内存百分比TIME+ —进程使用的CPU时间总计,单位1/100秒COMMAND —进程名称(命令名/命令行)在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况:top视图02观察上图,服务器有16个逻辑CPU,实际上是4个物理CPU。

如果不按1,则在top视图里面显示的是所有cpu的平均值进程字段排序默认进入top时,各进程是按照CPU的占用量来排序的,在【top视图01】中进程ID为14210的java进程排在第一(cpu占用100%),进程ID为14183的java进程排在第二(cpu 占用12%)。

可通过键盘指令来改变排序字段,比如想监控哪个进程占用MEM最多,我一般的使用方法如下:1. 敲击键盘“b”(打开/关闭加亮效果),top的视图变化如下:top视图03我们发现进程id为10704的“top”进程被加亮了,top进程就是视图第二行显示的唯一的运行态(runing)的那个进程,可以通过敲击“y”键关闭或打开运行态进程的加亮效果。

2. 敲击键盘“x”(打开/关闭排序列的加亮效果),top的视图变化如下:top视图04可以看到,top默认的排序列是“%CPU”。

3. 通过”shift + >”或”shift + <”可以向右或左改变排序列,下图是按一次”shift + >”的效果图:top视图05视图现在已经按照%MEM来排序了。

改变进程显示字段1. 敲击“f”键,top进入另一个视图,在这里可以编排基本视图中的显示字段:top视图06这里列出了所有可在top基本视图中显示的进程字段,有”*”并且标注为大写字母的字段是可显示的,没有”*”并且是小写字母的字段是不显示的。

如果要在基本视图中显示“CODE”和“DA TA”两个字段,可以通过敲击“r”和“s”键:top视图072. “回车”返回基本视图,可以看到多了“CODE”和“DA TA”两个字段:top视图08top命令的补充top命令是Linux上进行系统监控的首选命令,但有时候却达不到我们的要求,比如当前这台服务器,top监控有很大的局限性。

这台服务器运行着websphere集群,有两个节点服务,就是【top视图01】中的老大、老二两个java进程,top命令的监控最小单位是进程,所以看不到我关心的java线程数和客户连接数,而这两个指标是java的web服务非常重要的指标,通常我用ps和netstate两个命令来补充top的不足。

监控java线程数:ps -eLf | grep java | wc -l监控网络客户连接数:netstat -n | grep tcp | grep 侦听端口| wc -l上面两个命令,可改动grep的参数,来达到更细致的监控要求。

在Linux系统“一切都是文件”的思想贯彻指导下,所有进程的运行状态都可以用文件来获取。

系统根目录/proc中,每一个数字子目录的名字都是运行中的进程的PID,进入任一个进程目录,可通过其中文件或目录来观察进程的各项运行指标,例如task目录就是用来描述进程中线程的,因此也可以通过下面的方法获取某进程中运行中的线程数量(PID指的是进程ID):ls /proc/PID/task | wc -l在linux中还有一个命令pmap,来输出进程内存的状况,可以用来分析线程堆栈:pmap PID大家都熟悉Linux下可以通过top命令来查看所有进程的内存,CPU等信息。

除此之外,还有其他一些命令,可以得到更详细的信息,例如进程相关cat /proc/your_PID/status通过top或ps -ef | grep '进程名' 得到进程的PID。

相关文档
最新文档