0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux高频命令终极指南

马哥Linux运维 来源:马哥Linux运维 2024-12-05 16:53 次阅读

查看日志

1、系统今日小于warning级别的日志

man journalctl | grep -C 2 "debug" | journalctl -xen all --since today -p warning [-o json | -o json-pretty] 

2、 系统启动日志、内核日志

# 启动 journalctl -b [-0] 
# 内核 journalctl -k 

3、指定服务或进程最新日志

# 指定服务 journalctl -xen 10 -fu sshd 
# 指定进程 ss -tnlp | grep -P '(?<=pid=)d+' 
journalctl -xen 10 _PID=1 -f 
journalctl /usr/bin/bash 

4、管理日志

# 空间使用 journalctl --disk-usage 
# 保留500M journalctl --vacuum-size 500M 
# 保留1年 journalctl --vacuum-time 1years 

巡检命令

//查看系统cpu使用情况
top
//查看所有cpu信息
mpstat-PALL1
//查看cpu使用情况以及平均负载
vmstat1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1379800   2188 2044368    0    0     0     2    1    1  0  0 100  0  0
 0  0      0 1379676   2188 2044400    0    0     0     0  398  805  0  0 100  0  0
 0  0      0 1379552   2188 2044400    0    0     0     0  371  804  0  0 100  0  0
 0  0      0 1379552   2188 2044400    0    0     0     0  346  766  1  1 99  0  0
一般r的数量不超过CPU核数数量

//进程cpu的统计信息
pidstat-u1-ppid
//跟踪进程内部函数级cpu使用情况
perftop-ppid-ecpu-clock

使用 uptime 和 w 可打印出系统过去 1, 5, 15 分钟内的平均负载。同时,你可以使用 sar -q 查看动态的平均负载。

$uptime
19:28:49up290days,20:25,1user,loadaverage:2.39,2.64,1.55

$w
19:29:50up290days,20:26,1user,loadaverage:2.58,2.63,1.61
USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT
rootpts/0172.16.0.119:276.00s0.05s0.00stmuxa

在 uptime 的 man 手册中这么解释平均负载
System load averages is the average number of processes that are either in a runnable or uninterruptable state.
翻译过来就是指系统中处于可运行状态和不可中断状态的平均进程数。
对于 4 核的 CPU,如果平均负载高于 4 就代表负载过高

  • 内存

//查看系统内存使用情况
free-m
//虚拟内存统计信息
vmstat1
//查看系统内存情况
top
//1s采集周期,获取内存的统计信息
pidstat-ppid-r1 5

-r:查看进程的内存信息
-s:查看进程的stack信息
-p:指定PID
1:每间隔1s打印一次
5:共打印5//查看进程的内存映像信息
pmap-dpid
//检测程序内存问题
valgrind--tool=memcheck--leak-check=full--log-file=./log.txt./程序名
  • 磁盘IO

//查看系统io信息
iotop
//统计io详细信息
iostat-d-x-k110
//查看进程级io的信息
pidstat-d1-ppid
//查看系统IO的请求,比如可以在发现系统IO异常时,可以使用该命令进行调查,就能指定到底是什么原因导致的IO异常
perfrecord-eblock:block_rq_issue-ag
^C
perfreport
//显示网络统计信息
netstat-s
//显示当前UDP连接状况
netstat-nu
//显示UDP端口号的使用情况
netstat-apu
//统计机器中网络连接各个状态个数
netstat-a|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'
//显示TCP连接
ss-t-a
//显示sockets摘要信息
ss-s
//显示所有udpsockets
ss-u-a
//tcp,etcp状态
sar-nTCP,ETCP1
//查看网络IO
sar-nDEV1
//抓包以包为单位进行输出
tcpdump-ieth1host192.168.1.1andport80
//抓包以流为单位显示数据内容
tcpflow-cphost192.168.1.1
  • 系统负载

//查看负载情况
uptime
top
vmstat
//统计系统调用耗时情况
strace-c-ppid
//跟踪指定的系统操作例如epoll_wait
strace-T-eepoll_wait-ppid
//查看内核日志信息
dmesg

常用命令

1、临时配置主机IP

ifconfig eth0 192.168.1.1
ip a add 192.168.1.100/24 dev eth0                       #设置IP地址和子网掩码
ip r add default via 192.168.1.100 dev  eth0             #设置默认网关
ip r add 0.0.0.0/0 via 192.168.1.254 dev eth0            #添加路由

2、windwos文本在linux格式问题

sed -i -e 's/
$//'  install.sh

3、查看所在的公网IP

curl cip.cc
curl ipinfo.io
curl ip.cn
curl myip.ipip.net
curl ifconfig.me
curl ip.sb
curl inet-ip.info
curl ident.me
curl icanhazip.com
curl myip.ipip.net

4、持续测试业务可用性

while true; do curl 172.31.76.10/service/colors; sleep 0.$RANDOM; done

# 持续请求服务上的特定路径/livez
while true; do curl 172.31.18.2/livez && echo -e "	" && curl 172.31.18.2; sleep 1; done

持续请求服务,可发现,请求均被调度至优先级为0的webservice1相关的后端端点之上;
while true; do curl 172.31.29.2; sleep .5; done

5、快速定位占用文件系统过高的文件或目录

find / -type f -size +200M -print0 | du --files0-from=- --max-depth=1 -h | sort -hr


find /:从根目录开始搜索;
-type f:仅查找类型为文件的条目;
-size +200M:查找大小超过200MB的文件:
-print0:将找到的文件名打印出来,每个文件名之间用空字符分隔(为了处理包含特殊字符的文件名);
du:显示文件或目录所占用的磁盘空间;
--files0-from=-:从标准输入读取文件名列表;
--max-depth=1:限制对文件结构的递归深度为1,即只计算文件本身所占用的空间,而不计算其子目录的内容
-h:格式以人类易读的形式输出;
sort:命令用于对文本文件中的行进行排序;
-hr:根据文件大小进行降序排序,同时处理人类可读的数字字段

6、定位占用资源率过高的服务及文件

列出cpu使用率最高的进程:
ps -eo pid,ppid,user,%cpu,%mem,cmd --sort=-%cpu | head -10

列出内存使用率最高的进程: 
ps -eo pid,ppid,user,%cpu,%mem,cmd --sort=-%mem | head -10

列出swap使用率最高的进程:
top (按Shift+F进入fileds management,按d选择swap,按s做排序)
查看进程详情:
ps-p  -o comm,cmd

查看所属服务:
cat /proc//cmdline

查看打开文件:
lsof -o 

查看打开文件数量:
ls -l /proc//fd/ | wc -l

7、释放内存空间
当你读写文件的时候,Linux内核为了提高读写性能与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少。

其实这缓存内存(Cache Memory)在你需要使用内存的时候会自动释放,所以你不必担心没有内存可用。如果你希望手动去释放Cache Memory也是有办法的。

释放内存方式:

[root@node1 ~]# sync
[root@node1 ~]# echo 3 > /proc/sys/vm/drop_caches


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10892

    浏览量

    212473
  • Linux
    +关注

    关注

    87

    文章

    11331

    浏览量

    210010
  • 磁盘
    +关注

    关注

    1

    文章

    379

    浏览量

    25238

原文标题:运维必备!精通Linux高频命令,让效率翻倍的终极指南

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux教程:Linux Tee命令真实示例详细指南

    使用 Linux 终端时,您可能需要执行命令将一些数据写入文件并进一步处理其输出。命令是一个可以帮助您实现这一目标的强大实用程序tee。 这篇文章将为您提供有关tee命令的详细
    发表于 10-31 10:02 630次阅读

    高手进阶终极内存技术指南

    高手进阶终极内存技术指南
    发表于 08-15 17:53

    高手进阶_终极内存技术指南

    [url=]高手进阶_终极内存技术指南[/url]
    发表于 05-29 16:40

    RedHat Linux 9入门指南

    下面列出了 Red Hat Linux 的主要系统目录及其简单描述。要获得额外的目录信息,请参阅《Red Hat Linux 定制指南》和《Red Hat Linux 参考
    发表于 06-30 17:33 50次下载

    Linux与用户有关的命令

    Linux与用户有关的命令 Linux与用户有关的命令  passwd命令  出于系统安全考虑,Lin
    发表于 01-18 12:46 777次阅读

    Linux的常用网络命令

    Linux的常用网络命令 Linux 的常用网络命令  计算机网络的主要优点是能够实现资源和信息的共享,并且用户可以远程访问信息。Linux
    发表于 01-18 12:47 1186次阅读

    Linux关机命令详解

    Linux关机命令详解 在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都 可以达到重启系统的目的,但每个
    发表于 01-18 12:52 3634次阅读

    Linux系统命令指南

    在“Linux 文件命令精通指南”中,我们讨论了利用最基础和最常用 Linux 文件命令所需的基本信息。在本文中,我将对
    发表于 05-23 10:23 965次阅读

    Linux文件命令精通指南解析

    为刚接触 Linux 文件命令的初学者提供的速成教程 虽然 GUI 桌面(如 KDE 和 GNOME)能够帮助用户利用 Linux 特性,而无需关于命令行接口的功能知识,但还是经常会需
    发表于 11-07 10:49 3次下载

    linux有哪些常用的命令

     Linux命令非常之多,分为内部命令和外部命令
    发表于 02-27 08:00 4次下载
    <b class='flag-5'>linux</b>有哪些常用的<b class='flag-5'>命令</b>

    Linux系统命令及shell脚本实践指南

    Linux系统命令及shell脚本实践指南资料下载。
    发表于 06-01 14:47 28次下载

    常用Linux命令介绍

    linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,
    的头像 发表于 02-09 14:31 1080次阅读

    浅析Linux精致的命令

    这只是一小部分常用的Linux命令Linux有很多命令可以使用。建议通过man命令来查看命令
    的头像 发表于 04-24 16:28 1569次阅读

    shell命令linux命令一样吗

    Shell命令Linux命令并不完全一样。 首先,Shell是一种命令行解释器,它是用来解释和执行用户输入的命令的。Shell既是一种
    的头像 发表于 11-08 10:51 2936次阅读

    linux重启命令有哪些

    Linux是一种自由和开放源代码的操作系统,被广泛应用于服务器和嵌入式设备。在Linux中,有多种命令用于重启系统。在本文中,我们将详细介绍常用的Linux重启
    的头像 发表于 11-17 09:49 2071次阅读