首页 > 系统相关 >服务器linux常用命令

服务器linux常用命令

时间:2023-07-24 14:04:21浏览次数:37  
标签:17 0.00 常用命令 命令 mysqld 内存 linux 服务器 CPU


[01 – iostat]

iostat命令显示的是你的存储系统的细节状态。你通常可以用这个命令去检测你的存储设备是否工作正常,
完全可以在用户抱怨服务器慢之前,通过这个命令发现系统IO方面的问题。

如下可以看到iostat既可以显示CPU使用情况,也可以看到每个磁盘的IO情况。

# iostat 1
Linux 2.6.32-220.4.1.el6.i686 (roclinux) 2012年12月22日 _i686_ (4 CPU)
 
avg-cpu: %user %nice %system %iowait %steal %idle
0.55 0.00 0.03 0.02 0.00 99.40
 
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sdb 0.41 2.61 5.76 2558664 5653872
sda 0.24 0.80 4.12 784650 4038344

[02/03 – meminfo/free]

meminfo提供了很详细的内存使用状况。可以直接用cat命令查看:

cat /proc/meminfo

当然meminfo里包含了太多细节,你可以直接使用free命令来查看有关内存的综述。

# free -m
total used free shared buffers cached
Mem: 1513 1429 83 0 343 836
-/+ buffers/cache: 249 1263
Swap: 0 0 0

[04 – mpstat]

mpstat用在多处理器的服务器上,用来显示每一个CPU的状态。

另外,mpstat也会显示所有处理器的平均状况。

你可以设置显示每个服务器的CPU统计信息,或者每个处理的CPU统计信息。

# mpstat -P ALL
Linux 2.6.32-220.4.1.el6.i686 (roclinux) 2012年12月22日 _i686_ (4 CPU)
 
17时46分35秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
17时46分35秒 all 0.55 0.00 0.03 0.02 0.00 0.00 0.00 0.00 99.40
17时46分35秒 0 0.84 0.00 0.04 0.03 0.00 0.01 0.00 0.00 99.08
17时46分35秒 1 0.51 0.00 0.03 0.02 0.00 0.00 0.00 0.00 99.44
17时46分35秒 2 0.45 0.00 0.02 0.01 0.00 0.00 0.00 0.00 99.51
17时46分35秒 3 0.40 0.00 0.02 0.01 0.00 0.00 0.00 0.00 99.56
 
# mpstat -P 0
Linux 2.6.32-220.4.1.el6.i686 (roclinux) 2012年12月22日 _i686_ (4 CPU)
 
17时46分39秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
17时46分39秒 0 0.84 0.00 0.04 0.03 0.00 0.01 0.00 0.00 99.08

其中各个域的含义简述如下:

1 CPU:处理器编号,如果为all,则此行表示的是所有处理器的统计平均值

2 %usr:用户态的CPU利用率

3 %nice:具有调度优先级的用户态CPU利用率

4 %sys:内核态CPU利用率(此值不包括响应硬件中断和软件中断的时间)

5 %iowait:处理IO请求导致CPU处于IDLE状态的时间百分比

6 %irq:CPU响应硬件中断的时间比率

7 %soft:CPU响应软件中断的时间比率

8 %steal:当虚拟机监控器在服务于其他虚拟处理器时,虚拟CPU的被动等待时间比率

9 %guest:运行一个虚拟处理器所消耗的CPU时间比率

[05 – netstat]

netstat命令,是Linux系统管理员几乎每天都会用到的命令(它已经逐步在被ss命令取代),他可以显示很多有关网络方面的信息,例如socket使用情况、路由情况、网卡情况、协议情况、网络流量统计等等。

一些常用的netstat选项包括:

-a : 显示所有socke信息

-r : 显示路由信息

-i : 显示网卡接口统计

-s : 显示网络协议统计

[06 – nmon]

nmon是Nigel’s Monitor的缩写,它是一个很知名的监视Linux系统性能的工具。

nmon可以查看到处理器利用率、内存使用率、运行队列信息、磁盘IO统计、网络IO统计、换页统计等。

你可以通过一个基于curses的类GUI界面来查看到上述信息。

nmon监控工具

[07 – pmap]

pmap命令可以显示进程占用的内存量。

你可以通过pmap找到那个占用内存量最多的进程。

如下就是nignx主进程所占用的内存情况:

# pmap 2395|head -n 10
2395: nginx: master process ./sbin/nginx
00110000 240K r-x-- /lib/libgssapi_krb5.so.2.2
0014c000 4K ----- /lib/libgssapi_krb5.so.2.2
0014d000 4K r---- /lib/libgssapi_krb5.so.2.2
0014e000 4K rw--- /lib/libgssapi_krb5.so.2.2
0014f000 12K r-x-- /lib/libcom_err.so.2.1
00152000 4K r---- /lib/libcom_err.so.2.1
00153000 4K rw--- /lib/libcom_err.so.2.1
00154000 48K r-x-- /lib/libnss_files-2.12.so
00160000 4K r---- /lib/libnss_files-2.12.so
...
b78e4000 20K rw--- [ anon ]
b78f3000 4K rw-s- /dev/zero (deleted)
b78f4000 4K rw--- [ anon ]
bfeaa000 84K rw--- [ stack ]
total 7280K

[08/09 – ps/pstree]

ps和pstree在Linux系统里是一对好兄弟,它们都是用来列出处于运行状态的进程的列表的。

ps告诉我们每个进程使用的内存量以及所消耗的CPU时间。

pstree则会告诉我们进程间的父子关系,如下便是mysql的一些父子关系信息:

# pstree -p 1829

mysqld_safe(1829)───mysqld(2307)─┬─{mysqld}(2309)

{mysqld}(2310)

{mysqld}(2311)

{mysqld}(2312)

{mysqld}(2313)

{mysqld}(2314)

{mysqld}(2315)

{mysqld}(2316)

{mysqld}(2317)

{mysqld}(2318)

{mysqld}(2320)

{mysqld}(2321)

{mysqld}(2322)

{mysqld}(2323)

{mysqld}(2325)

{mysqld}(2544)

{mysqld}(2548)

{mysqld}(7912)

{mysqld}(7914)

{mysqld}(7916)

{mysqld}(24689)

{mysqld}(27329)

{mysqld}(27331)

[10 – sar]

sar命令堪称系统监控工具里的瑞士军刀。

sar命令实际上是由三个程序组成的,即sar(用于显示数据)、sa1(用于采集数据)和sa2(用于存储数据)。

sar可以涵盖到CPU利用率信息、内存换页信息、网络IO传输信息、进程创建行为和存储设备行为。

sar和nmon的最大区别在于,sar更适用于长期的系统监控,而nmon则更适用于快速查看信息。

如果希望更详细的学习sar命令,可以阅读《sar访谈》-linux命令五分钟系列之二十九

[11 – strace]

starce经常被用来作为追查程序问题的工具,但他的功能远非如此。

它可以解析和记录进程的系统调用行为,这使得strace成为了一个非常有用的诊断、调查和纠错工具。

举例来说,你可以适用strace来追查到一个程序在启动之初所需加载的配置文件信息。

当然,strace也有它自身的缺陷,那就是strace会严重拖慢调查对象(某个进程)的性能和运行速度。

顺便推荐一篇非常好的strace的文章:《strace使用详解

另外,如果你使用MAC,strace的替代品是truss。

[12 – tcpdump]

tcpdump是一个简单的、好用的网络监控工具。它的网络协议分析能力使得它能够看清网络中到底发生了什么,如果你希望更细节的调查的话,可以考虑适用功能更为强大的wireshark工具。

tcpdump的系列教程“在这里”。

[13 – top]

top命令可以显示系统中的进程信息。默认情况下,top会按照CPU使用率从高到低来显示系统中的进程,并且每5秒刷新一次排行榜。

当然,你也可以让top按照PID、进程寿命、CPU耗时、内存消耗等维度对进程进行排序。(我经常使用的是P和M快捷键,分别是按CPU利用率排序、按内存使用量排序)

通过top命令,你可以很快的发现那些失去控制或不符合预期的进程。

[14 – uptime]

通过uptime命令可以查看系统已经运行了多久,可以统计当前处于登陆状态的用户数量,还可以显示当前服务器的负载情况。

# uptime
18:35:17 up 11 days, 9:30, 1 user, load average: 0.00, 0.00, 0.00

[15 – vmstat]

大多数情况下,你可以使用vmstat命令去查看系统的虚拟内存情况,因为Linux通常会通过虚拟内存来获得更好的存储性能。

如果你的程序占用了大量了内存,那么系统会进行内存页换出的动作,以便把程序从内存中移动到系统SWAP空间中,也就是硬盘中。

如果系统的内存页的换入换出动作频度超过一个临界值,那么这种状态被叫做“Thrashing”。当系统处于thrashing状态时,性能会急剧下降。

vmstat命令便可以帮助人们及时发现此类问题,找出那个拖慢系统的元凶。

# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 57484 356864 861332 0 0 0 1 7 3 1 0 99 0 0
0 0 0 57468 356864 861360 0 0 0 0 336 145 6 1 94 0 0
0 0 0 57468 356864 861360 0 0 0 0 43 51 0 0 100 0 0
0 0 0 57468 356864 861360 0 0 0 16 51 62 0 0 100 0 0

[16 – wireshark]

Wireshark的前身叫做Ethereal,我们可以认为wireshark是tcpdump命令的大师兄,因为wireshark会更为专业,也具有更高级的协议分析和统计能力。

Wireshark同时具有GUI界面和shell借口。

 

标签:17,0.00,常用命令,命令,mysqld,内存,linux,服务器,CPU
From: https://blog.51cto.com/u_14480168/6834550

相关文章

  • 给服务器安装系统点滴
    给公司测试服务器升级操作系统颇为周折,以前一帆风顺的操作,反复的折腾了几日,特记录下来;(服务器硬盘分区格式为MBR)一开始想用工具Ventoy制作一个多系统安装U盘,按使用说明设置分区类型为MBR,将操作系统复制到U盘根目录下;但实际安装过程中并不能友好的自动进行,进行到选择分区时,直接提......
  • C# .NET core Avalonia 11.0版本,发布linux记录
    .netcore7.0+centos7.0cetnos目前运行在hyperV虚拟机里 虚拟机部署的注意事项1需要配置网络环境,  确保在同一局域网下如果sftp无法连接ctrl+shift+f2切换到命令行,开启22端口iptables-IINPUT-ptcp--dport22-jACCEPT同时虚拟机网络也要正确配置.......
  • CobaltStrike4.8--云服务器搭建
    系统版本选用选择最熟悉的版本,我这边用的CentOS7.8,选用乌班图的话,会有一些命令的不一致配置运行环境CobaltStrike4.0支持jdk1.8的环境,4.5开始就不支持1.8了,本文搭载的是cs4.8,故配置的环境是jdk11查看自身Linux版本uname-r选用的系统是64位的,后面我们需要选择64位jdk11......
  • Linux系列---【linux使用sudo命令管理普通用户执行root权限】
    linux使用sudo命令管理普通用户执行root权限为什么要用sudo?sudo提供了一种安全而灵活的方式,让普通用户在需要时以root用户的身份执行特权操作,同时也提供了更好的管理和安全性。通过合理配置sudoers文件,可以确保只有受信任的用户能够执行特权操作,从而保护系统的完整性和安......
  • linux安装源码包指定安装目录【转载】
    本文来自博客园,作者:阿弱,转载请注明原文链接:https://www.cnblogs.com/aruo/p/15771915.html当下载完一个源码包并且解压后文件夹下会有一个重要的文件configureconfigure文件是一个可执行的脚本文件,它将检查目标系统的配置和可用功能,比如一些检查依赖或者启用禁用一些模块,它有......
  • linux 安装docker完整教程
    一、Docker及系统版本Docker从17.03版本之后分为CE(CommunityEdition:社区版)和EE(EnterpriseEdition:企业版)。相对于社区版本,企业版本强调安全性,但需付费使用。这里我们使用社区版本即可。Docker支持64位版本的CentOS7和CentOS8及更高版本,它要求Linux内核版本不低于3.10 ......
  • ROS2机器人导航Nav2超详细保姆级教程之四大服务器
    导航服务器规划器和控制器是导航任务的核心。恢复器用于使机器人摆脱不良状态或尝试处理各种形式的问题,以使系统具有容错能力。平滑器可用于进一步提高规划路径的质量。在本节中,将分析有关它们的一般概念及其在Nav2项目中的用途。规划器、恢复器、平滑器和控制器服务器。Nav2中......
  • git常用命令
    1.查看分支gitbranch2.切换分支gitcheckout-b3.6.1(分支) 3.添加源分支URLgitremoteaddupstream[源项目URL]4.初始化gitgitinit 5.修改错误修改git里面的config配置文件添加代码 ......
  • linux-centos7.6-gpt-uefi安装
    目录一、需要二、环境vm设置系统环境一、需要安装的系统适用企业服务器磁盘大于2个的场景二、环境添加硬盘,挂载硬盘环境:linuxcentos7.6vmwareworkstationPro15.5.2build-15785246vm设置系统环境......
  • linux 中fold命令
     001、[root@PC1test02]#lsa.txt[root@PC1test02]#cata.txt##测试数据010203040506070809101112131415[root@PC1test02]#fold-w2a.txt##以两个字符为单位进行折叠010203040506070809101112131415 002、[root@PC1t......