zoukankan      html  css  js  c++  java
  • 查看系统信息

    一、查看CPU信息

    1.1 文件查看

    [root@localhost ~]# cat /proc/cpuinfo
    

    文件中的内容说明:

    processor :系统中逻辑处理核的编号。对于单核处理器,则课认为是其CPU编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核
    vendor_id :CPU制造商     
    cpu family :CPU产品系列代号
    model   :CPU属于其系列中的哪一代的代号
    model name:CPU属于的名字及其编号、标称主频
    stepping   :CPU属于制作更新版本
    cpu MHz   :CPU的实际使用主频
    cache size   :CPU二级缓存大小
    physical id   :单个CPU的标号
    siblings       :单个CPU逻辑物理核数
    core id        :当前物理核在其所处CPU中的编号,这个编号不一定连续
    cpu cores    :该逻辑核所处CPU的物理核数
    apicid          :用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续
    fpu             :是否具有浮点运算单元(Floating Point Unit)
    fpu_exception  :是否支持浮点计算异常
    cpuid level   :执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容
    wp             :表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)
    flags          :当前CPU支持的功能
    bogomips   :在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second)
    clflush size  :每次刷新缓存的大小单位
    cache_alignment :缓存地址对齐单位
    address sizes     :可访问地址空间位数
    power management :对能源管理的支持,有以下几个可选支持功能:
    

    1.2 命令查看

    [root@localhost ~]# lscpu
    

    image-20201027170805084

    重要信息说明:

      Architecture: 		#架构
      CPU(s): 				#逻辑cpu颗数
      Thread(s) per core: 	#每个核心线程
      Core(s) per socket: 	#每个cpu插槽核数/每颗物理cpu核数
      CPU socket(s): 		#cpu插槽数
      Vendor ID: 			#cpu厂商ID
      CPU family: 			#cpu系列
      Model: 				#型号
      Stepping: 			#步进
      CPU MHz: 				#cpu主频
      Virtualization: 		#cpu支持的虚拟化技术
      L1d cache: 			#一级缓存(google了下,这具体表示表示cpu的L1数据缓存)
      L1i cache: 			#一级缓存(具体为L1指令缓存)
      L2 cache: 			#二级缓存
    

    二、查看内存信息

    2.1 文件查看

    [root@localhost ~]# cat /proc/meminfo
    MemTotal:         995748 kB		# 总内存
    MemFree:          378096 kB		# 空闲内存
    MemAvailable:     653724 kB		# 可用内存
    Buffers:            2076 kB		# 缓冲区大小
    Cached:           387440 kB		# 缓存区大小
    SwapCached:            0 kB		# 交换分区大小
    Active:           349724 kB		# 活跃使用中的高速缓冲存储器页面文件大小
    Inactive:         108464 kB		# 不经常使用中的告诉缓冲存储器文件大小
    Active(anon):      69140 kB		# 活跃的匿名内存(进程中堆上分配的内存,是用malloc分配的内存)
    Inactive(anon):     7320 kB		# 不活跃的匿名内存
    Active(file):     280584 kB		# 活跃的file内存,//file内存:磁盘高速缓存的内存空间和“文件映射(将物理磁盘上的文件内容与用户进程的逻辑地址直接关联)”的内存空间,其中的内容与物理磁盘上的文件相对应
    Inactive(file):   101144 kB		# 不活跃的file内存
    Unevictable:           0 kB		# 不能被释放的内存页
    Mlocked:               0 kB		# mlock()系统调用锁定的内存大小
    SwapTotal:       1048572 kB		# 交换空间总大小
    SwapFree:        1048572 kB		# 空闲交换空间
    Dirty:                 0 kB		# 等待被写回到磁盘的大小
    Writeback:             0 kB		# 正在被写回的大小
    AnonPages:         68664 kB		# 未映射页的大小
    Mapped:            26356 kB		# 设备和文件映射大小
    Shmem:              7788 kB		# 已经被分配的共享内存大小
    Slab:              84716 kB		# 内核数据结构缓存大小
    SReclaimable:      43200 kB		# 可收回slab的大小
    SUnreclaim:        41516 kB		# 不可回收的slab的大小
    KernelStack:        3856 kB		# kernel消耗的内存
    PageTables:         4524 kB		# 管理内存分页的索引表的大小
    NFS_Unstable:          0 kB		# 不稳定页表的大小
    Bounce:                0 kB		# 在低端内存中分配一个临时buffer作为跳转,把位于高端内存的缓存数据复制到此处消耗的内存
    WritebackTmp:          0 kB		# USE用于临时写回缓冲区的内存
    CommitLimit:     1546444 kB		# 系统实际可分配内存总量
    Committed_AS:     282144 kB		# 当前已分配的内存总量
    VmallocTotal:   34359738367 kB	# 虚拟内存大小
    VmallocUsed:      179268 kB		# 已经被使用的虚拟内存大小
    VmallocChunk:   34359310332 kB	# malloc 可分配的最大的逻辑连续的内存大小
    HardwareCorrupted:     0 kB		# 删除掉的内存页的总大小(当系统检测到内存的硬件故障时)
    AnonHugePages:      6144 kB		# 匿名 HugePages 数量
    CmaTotal:              0 kB		# 总的连续可用内存
    CmaFree:               0 kB		# 空闲的连续内存
    HugePages_Total:       0		# 预留HugePages的总个数
    HugePages_Free:        0		# 池中尚未分配的 HugePages 数量
    HugePages_Rsvd:        0		# 表示池中已经被应用程序分配但尚未使用的 HugePages 数量
    HugePages_Surp:        0		# 这个值得意思是当开始配置了20个大页,现在修改配置为16,那么这个参数就会显示为4,一般不修改配置,这个值都是0
    Hugepagesize:       2048 kB		# 每个大页的大小
    DirectMap4k:       79744 kB		# 映射TLB为4kB的内存数量
    DirectMap2M:      968704 kB		# 映射TLB为2M的内存数量
    DirectMap1G:           0 kB		# 映射TLB为1G的内存数量
    

    2.2 命令查看

    image-20201027172702848

    参数详解:

    total		# 内存总数
    used		# 已经使用内存数
    free		# 完全空闲内存
    shared		# 多个进程共享的内存
    buffers		# 用于块设备数据缓冲,记录文件系统metadata(目录,权限,属性等)
    cached		# 用于文件内容的缓冲
    availabl	# 真正剩余的可被程序应用的内存数
    Mem			# 内存
    Swap		# 交换分区
    

    三、磁盘/挂载信息

    3.1 文件查看

    [root@localhost ~]# cat /proc/mounts 
    rootfs / rootfs rw 0 0
    sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0
    proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
    devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=487140k,nr_inodes=121785,mode=755 0 0
    securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
    tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev 0 0
    devpts /dev/pts devpts rw,seclabel,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
    tmpfs /run tmpfs rw,seclabel,nosuid,nodev,mode=755 0 0
    tmpfs /sys/fs/cgroup tmpfs ro,seclabel,nosuid,nodev,noexec,mode=755 0 0
    cgroup /sys/fs/cgroup/systemd cgroup rw,seclabel,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
    pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
    cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,net_prio,net_cls 0 0
    cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpuacct,cpu 0 0
    cgroup /sys/fs/cgroup/devices cgroup rw,seclabel,nosuid,nodev,noexec,relatime,devices 0 0
    cgroup /sys/fs/cgroup/freezer cgroup rw,seclabel,nosuid,nodev,noexec,relatime,freezer 0 0
    cgroup /sys/fs/cgroup/hugetlb cgroup rw,seclabel,nosuid,nodev,noexec,relatime,hugetlb 0 0
    cgroup /sys/fs/cgroup/memory cgroup rw,seclabel,nosuid,nodev,noexec,relatime,memory 0 0
    cgroup /sys/fs/cgroup/cpuset cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpuset 0 0
    cgroup /sys/fs/cgroup/pids cgroup rw,seclabel,nosuid,nodev,noexec,relatime,pids 0 0
    cgroup /sys/fs/cgroup/perf_event cgroup rw,seclabel,nosuid,nodev,noexec,relatime,perf_event 0 0
    cgroup /sys/fs/cgroup/blkio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,blkio 0 0
    configfs /sys/kernel/config configfs rw,relatime 0 0
    /dev/sda3 / xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
    selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
    systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13421 0 0
    debugfs /sys/kernel/debug debugfs rw,relatime 0 0
    hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime 0 0
    mqueue /dev/mqueue mqueue rw,seclabel,relatime 0 0
    /dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
    tmpfs /run/user/0 tmpfs rw,seclabel,nosuid,nodev,relatime,size=99576k,mode=700 0 0
    
    

    3.2 命令查看

    [root@localhost ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs        476M     0  476M   0% /dev
    tmpfs           487M     0  487M   0% /dev/shm
    tmpfs           487M  7.7M  479M   2% /run
    tmpfs           487M     0  487M   0% /sys/fs/cgroup
    /dev/sda3        19G  1.9G   17G  10% /
    /dev/sda1       197M  109M   89M  56% /boot
    tmpfs            98M     0   98M   0% /run/user/0
    

    四、负载信息

    4.1 文件查看

    [root@localhost ~]# cat /proc/loadavg 
    8.13, 5.90, 4.94 1/115 2331
    

    说明:

    前三个数值是1、5、15分钟内的平均进程数
    第四个数值的分子是正在运行的进程数,分母是进程总数
    最后一个数值是最近运行的进程ID号
    

    注意:

    	一般来说只要每个CPU的当前活动进程数不大于3那么系统的性能就是良好的,如果每个CPU的任务数大于5,那么就表示这台机器的性能有严重问题。对于 上面的例子来说,假设系统有两个CPU,那么其每个CPU的当前任务数为:8.13/2=4.065。这表示该系统的性能是可以接受的。
    	数据是每隔5秒钟检查一次活跃的进程数,然后根据这个数值算出来的。如果这个数除以CPU的数目,结果高于5的时候就表明系统在超负荷运转了。
    

    4.2 命令查看

    4.2.1 w 命令

    [root@localhost ~]# w
     17:56:48 up  2:21,  1 user,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    10.0.0.1         15:43    0.00s  0.05s  0.00s w
    
    • 功能说明:显示目前登入系统的用户信息。
    • 语  法:w [参数] [用户名称]

    参数:

    参数 说明
    -f 开启或关闭显示用户从何处登入系统
    -h 不显示各栏位的标题信息列
    -s 使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间
    -u 忽略执行程序的名称,以及该程序耗费CPU时间的信息
    -V 显示版本信息

    4.2.2 uptime 命令

    [root@localhost ~]# uptime 
     18:05:19 up  2:29,  1 user,  load average: 0.00, 0.01, 0.05
    
    • 功能说明:显示系统运行时间和用户
    • 语 法:uptime [参数]

    参数:

    参数 说明
    -p 以漂亮的方式显示运行时间
    -V 版本

    4.2.3 tload 命令

    [root@localhost ~]# tload
    
    • 功能说明:显示负载信息
    • 语法:tload [-V][-d <间隔秒数>][-s <刻度大小>] [终端机编号]

    参数:

    参数 说明
    -d 设置检测负载间隔,单位秒
    -s 设置图表的垂直刻度大小,单位列

    4.2.4 top 命令

    • 功能说明:查看系统信息(相当于Windows的资源管理器)

    4.2.4.1 参数:

    参数 说明
    -d 设置更新速度,默认5秒
    -b 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
    -p 指定监控进程ID来仅仅监控某个进程的状态
    -S 指定累计模式
    -q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行
    -s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险
    -i 使top不显示任何闲置或者僵死进程
    -c 显示整个命令行而不只是显示命令名

    4.2.4.2 top界面常用命令:

    命令 说明
    k 终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽
    i 忽略闲置和僵死进程。这是一个开关式命令
    q 退出程序
    r 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10
    S 切换到累计模式
    s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加
    f/F 从当前显示中添加或者删除项目
    o/O 改变显示项目的顺序
    l 切换显示平均负载和启动时间信息
    m 切换显示内存信息
    t 切换显示进程和CPU状态信息
    c 切换显示命令名称和完整命令行
    M 根据驻留内存大小进行排序
    T 根据时间/累计时间进行排序
    P 根据CPU使用百分比大小进行排序
    W 将当前设置写入~/.toprc文件中

    4.2.4.3 界面说明

    image-20201027185755536

    • 第一行(顶部进行)

      top - 18:57:32 up  3:21,  1 user,  load average: 0.05, 0.03, 0.05
      
      内容 说明
      18:57:32 表示当前时间
      up 3:21 表示系统运行时间,格式:时:分
      1 user 表示登录用户数
      load average: 0.05, 0.03, 0.05 系统负载
    • 第二行(进程信息)

      Tasks:  98 total,   2 running,  95 sleeping,   1 stopped,   0 zombie
      
      内容 说明
      98 total 进程总数
      2 running 正在运行的进程数
      95 sleeping 睡眠的进程数
      1 stopped 停止的进程数
      0 zombie 僵尸进程数
    • 第三行(CPU信息)

      %Cpu(s):  0.0 us,  0.3 sy,  0.0 ni,99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
      
      内容 说明
      0.0 us 用户空间占用CPU百分比
      0.3 sy 内核空间占用CPU百分比
      0.0 ni 用户进程空间内改变过优先级的进程占用CPU百分比
      99.7 id 空闲CPU百分比
      0.0 wa 等待输入输出的CPU时间百分比
      0.0 hi 硬中断(Hardware IRQ)占用CPU的百分比
      0.0 si 软中断(Software Interrupts)占用CPU的百分比
      0.0 st 这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)
    • 第四行(内存信息)

      KiB Mem :   995748 total,   373872 free,   186972 used,   434904 buff/cache
      
      内容 说明
      995748 total 物理内存总量
      373872 free 空闲内存总量
      186972 used 使用内存总量
      434904 buff/cache 缓冲/缓存的空间总量
    • 第五行(交换分区信息)

      KiB Swap:  1048572 total,  1048572 free,        0 used.   651516 avail Mem
      
      内容 说明
      1048572 total 交换区总量
      1048572 free 空闲的交换区总量
      0 used 使用的交换区总量
      651516 avail Mem 代表可用于进程下一次分配的物理内存数量
    • 第六行(默认情况下进程的详细信息)

      列名 说明
      PID 进程id
      USER 进程所有者的用户名
      PR 优先级
      NI nice值。负值表示高优先级,正值表示低优先级
      VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
      RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
      SHR 共享内存大小,单位kb
      S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
      %CPU 自从上一次更新时到现在任务所使用的CPU时间百分比
      %MEM 进程使用的可用物理内存百分比
      TIME+ 进程使用的CPU时间总计,单位1/100秒
      COMMAND 命令名/命令行

    自定义界面显示:

    1. 通过按f(或F)键进入选择显示列表,按a-z即可显示或隐藏对于的列,最后按回车确定。
    2. 按o键可以改变列的显示顺序。按a-z可以将对应的列向右移动,按A-Z可以向左移动,最后按回车确定。
    3. 按F或O键,然后按a-z可以进行将进程按照相应的列进行排序;按R键可以将排序倒转。

    对应关系:

    序号 列名 说明
    a PID 进程id
    b PPID 父进程id
    c RUSER Real User Name
    d UID 进程所有者的用户id
    e USER 进程所有者的用户名
    f GROUP 进程所有者的组名
    g TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
    h PR 优先级
    i NI nice值。负值表示高优先级,正值表示低优先级
    j P 最后使用的CPU,仅在多CPU环境下有意义
    k %CPU 上次更新到现在的CPU时间占用百分比
    l TIME 进程使用的CPU时间总计,单位秒
    m TIME+ 进程使用的CPU时间总计,单位1/100秒
    n %MEM 进程使用的物理内存百分比
    o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb
    q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    r CODE 可执行代码占用的物理内存大小,单位kb
    s DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
    t SHR 共享内存大小,单位kb
    u nFLT 页面错误次数
    v nDRT 最后一次写入到现在,被修改过的页面数。
    w S 进程状态。(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
    x COMMAND 命令名/命令行
    y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
    z Flags 任务标志

    4.2.4.4 其他

    1. 默认进入top时,各进程是按照CPU占用率排序的,按数字“1”键可以监控每个CPU的状况。
    2. 按b键可以打开或关闭加亮效果
    3. 按x键可以打开或关闭排序列的加亮效果(可以按shift+>或shift+<左右改变排序序列)
  • 相关阅读:
    华为软件研发面试题1
    中兴软件面试题2
    中兴面试题1
    排 序 算 法
    hadoop集群环境的搭建
    各种排序算法的分析及java实现
    白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
    白话经典算法系列之三 希尔排序的实现
    白话经典算法系列之二 直接插入排序的三种实现
    白话经典算法系列之一 冒泡排序的三种实现
  • 原文地址:https://www.cnblogs.com/os-linux/p/13887155.html
Copyright © 2011-2022 走看看