Loading

linux常用命令

 

系统信息

top

实时显示系统进程和资源使用情况

 

 

  • top - 10:40:36

• 系统当前时间

  • up 10 days, 35min

• 系统到目前为止已运行的时间

  • 1 user

• 当前登录系统的用户数量

  • load average: 0.39, 0.35, 0.48

系统负载(任务队列的平均长度),3个数值分别为1分钟、5分钟、15分钟前到现在的平均值

  • Tasks : 85 total, 2 running, 83 sleeping, 0stopped, 0 zombie

• 显示的是进程状态信息的汇总,分别对应:所有启动的进程数、正在运行的进程数、挂起的进程数、停止的进程数、僵尸进程数

  • %Cpu(s) : 3.2 us, 6.5 sy, 0.0 ni, 90.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

• 3.2% us

用户空间占用CPU百分比

• 6.5% sy

内核空间占用CPU百分比

• 0.0% ni

用户进程空间内改变过优先级的进程占用CPU百分比

• 90.3% id

空闲CPU百分比

• 0.0% wa

等待输入输出的CPU百分比

• 0.0% hi

硬中断占用CPU百分比

• 0.0% si

软中断CPU百分比

• 0.0% st

虚拟CPU等待实际CPU的时间的百分比

  • Kib Mem : 3880884 total, 622008 free, 493640 used, 2765236 buff/cache

• 物理内存总量、已经使用的物理内存、空闲物理内存、内核缓存内存量

• buffer和cache的作用是所用I/O系统调用的时间,比如读写等。一般一个系统而言,如果cache的值很大,说明cache住的文件多。如果频繁访问文件都能被命中,很明显会比读取磁盘调用快,磁盘的IO必定会减小

从字段的意义上来说mem.free表示的是空闲内存总量,但是需要注意的是,虽然buffer/cache会占用一定的物理内存,但是当系统需要内存的时候,这些内存立即释放出来,也就是说buffer/cache可以看成可用内存

  • Kib Swap : 0 total, 0free, 0 used.  2993920 avail Mem

• 交换区总量、已使用交互区总量、空闲交换区总量、缓冲的交换区总量

  • 进程信息

• PID

进程ID

• USER

• 进程所有者

• PR

• 优先级

• NI

• nice值,负值表示高优先级,正值表示低优先级

• VIRT

进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES

• RES

进程使用的、未被换出的物理内存大小,单位kb,RES=CODE+DATA

• 进程实际使用的内容

• SHR

共享内存大小,单位kb

• %CPU

上传更新到现在的CPU时间占用百分比

• %MEM

• 进程使用的物理内存百分比

• TIME+

进程使用的CPU时间总计,单位1/100秒

• COMMAND

命令名/命令行

  • 概要

统计使用的是CPU需要用1-%id获取。或者us+sy+si

• wa:使用率过高的时候,我们需要考虑IO的性能是否有瓶颈,可以在使用iostat、sar等命令做进一步分析

• hi:使用率过高时,表示当前硬件中断占用很大的百分比。一般硬件中断我们可以分析文件/proc/interrupts、/proc/irq/pid/smp_affinity、服务irqbalance是否配置,以及CPU的频率设置,通过这些可以帮系统打散优化系统的硬件中断

• Linux kernel通过用一种软件的方法(可延迟函数)来模拟硬件的中断模式,通常叫做软中断。常见的软件中断一般都是和网络有关。从网卡到IP层的数据报文收发都是si处理的,长时间写日志也可能产生软件中断

当软中断出现瓶颈的时候,系统有个进行叫ksoftirqd,每个CPU都有自己对应的ksoftirqd/n(n为CPU的逻辑ID),每个ksoftirqd的内核线程都会去运行对应的ksoftirqd(函数)来处理自己的中断队列上的软件中断。所以,当网络出现阻塞的时候,软件中断程序ksoftirqd肯定会出现瓶颈。此时我们可以通过ps aux|grep ksoftirqd查看ksoftirqd的瓶颈

du

显示目录或文件的磁盘使用量

 

 

df

显示磁盘空间使用情况

 

 

  • -h(--human-readable):以易于阅读的格式(如MB、GB)显示信息

 

系统管理

ps

查看当前进程

通常用来查看Java进程的情况以及检查JVM参数

  • //查找java进程,相当于jps命令,但是有的时候线上服务器没办法执行jps,可以用以下命令代替
    ps aux|grep java
    //查询java进程,并高亮显示Xmx参数部分
    ps aux|grep java | grep --color Xmx
  • //只滚动输出ERROR的日志
    tail -f application.log |grep ERROR
  • TAR 是一个归档工具,用于将多个文件和目录集合到一个单一的文件中(tarball),但本身并不压缩文件
  • TAR 可以说是打包工具,它保持了文件的目录结构和属性信息,便于备份和传输
  • 为了减小体积,TAR 文件经常与其他压缩工具如GZIP或BZIP2一起使用,生成如 .tar.gz(通常称为tarball)或 .tar.bz2 的文件
  • GZIP 是一个压缩工具,主要用于对单个文件进行压缩,不提供归档多文件的功能
  • GZIP 不保留原始文件的文件结构和权限信息,只关注于压缩单个文件的内容
  • ZIP 是一种常用的归档与压缩格式,原生支持于Windows操作系统,并且在Mac和Linux上也被广泛支持
  • ZIP 支持多种压缩算法,而且可以添加文件注释、密码保护等额外功能
  • procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     0  1      0 2446260      0 3202312    0    0   201 16304    1    6  0  0 84  5 1
  • cpu指标

kill

杀死进程

chmod

更改文件或目录权限

chown

更改文件或目录的所有者和群组

文件操作

ls

列出目录内容

当需要显示隐藏文件的时候用ls -a

ll

ll是ls -l命令的一个别名,用于以详细列表格式显示当前目录中的文件和目录

mkdir:创建新目录。

rmdir:删除空目录。

rm:删除文件或目录。

cp:复制文件或目录。

mv:移动或重命名文件或目录。

touch:创建空文件或更新文件时间戳。

find:搜索文件和目录

// 在当前目录及其子目录中查找名为filename.txt的文件:
find . -name filename.txt
//查找所有目录
find . -type d
//查找所有普通文件
find . -type f
//查找大于10MB的文件
find . -size +10M
//查找修改时间在过去7天内的.log文件
find . -name "*.log" -mtime -7

日志查看

vi/vim

cat

查看文件内容

用于查看较小的文本文件

more / less

分页查看文件内容

less可以翻页,more不能翻页

查看较大的文本文件

tail

查看文件末尾内容,通常用来实时监视日志文件的新增内容

head

查看文件开始部分的内容。用于快速查看文件的开头部分。

grep

搜索文件中的文本行,并显示匹配的行。通常用来查找包含特定关键词的日志条目。

网络和通信

ping

检测网络到另一台主机的连接

curl / wget

从网络上下载文件

netstat

显示网络连接、路由表、接口统计等信息

ssh

安全远程登录

scp

通过SSH复制远程文件

telnet

主要被用于创建到远程主机的终端会话,或者测试远程主机上特定端口的可达性和服务的响应性

ifconfig

查看和更改网络接口的配置,例如IP地址、子网掩码和广播地址

压缩与解压

tar

压缩和解压tar文件

gzip / gunzip

压缩和解压gzip文件

zip / unzip

压缩和解压zip文件

概要

GZIP 通常提供的压缩比率对于文本文件来说是比较高的,但因为它主要设计为单文件压缩,所以当需要处理多个文件时,通常会先用TAR打包再用GZIP压缩

ZIP 在压缩比率上可能不如GZIP对文本文件的压缩效果,但它提供了更多的功能,如加密、分卷压缩等,并且可以直接处理多个文件和目录

当比较纯粹的压缩率,XZ和BZIP2通常提供比GZIP更高的压缩比,但它们的压缩/解压速度较慢

包管理

apt-get(Debian系)

yum(RedHat系)

概要

软件包的安装、更新和管理(根据你的Linux发行版而定)

系统监控和性能分析

vmstat

显示虚拟内存统计信息

• %us:用户进程执行时间百分比

• %sy:内核系统进程执行时间百分比

• %id:空闲时间百分比

• %wa:IO等待时间百分比

• %st:虚拟 CPU 等待实际 CPU 的时间的百分比

• 概要

• us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。

• sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。

• wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。

iostat

显示CPU和输入/输出统计信息

 

dmesg

显示内核相关的日志信息

  • 日志太多,看不懂,还需要root权限
  • 1.74 1.87 1.97 这三个数字的意思分别是1分钟、5分钟、15分钟内系统的平均负荷。我们一般表示为load1、load5、load15

uptime

uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

13:29  up 23:41, 3 users, load averages: 1.74 1.87 1.97

posted @ 2024-05-23 16:04  梦醒点灯  阅读(16)  评论(0编辑  收藏  举报