生产常用linux命令

top 命令

功能:经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况

使用:

top

top - 15:55:37系统时间 up 11:27运行时长, 2 users登录用户, load average: 0.04(1), 0.04(5), 0.05(15)
Tasks: 197 total总进程, 1 running运行, 196 sleeping休眠, 0 stopped, 0 zombie
%Cpu(s): 1.7 us用户空间, 0.7 sy内核空间, 0.0 ni, 97.3 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem : 1863004 total物理, 245272 free空闲, 774364 used使用, 843368 buff/cache缓存
KiB Swap: 2097148 total, 2089980 free, 7168 used. 909432 avail Mem

如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:18537836k +169884k +3612636k = 22GB左右。

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

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 — 进程名称(命令名/命令行)

多U多核CPU监控

在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况:

默认进入top时,各进程是按照CPU的占用量来排序的

top -c

显示完整进程命令COMMAND

top -n

top -n 2 表示更新两次后终止更新显示

top -d

top -d 3 表示更新周期为3秒

top -p

top -p 1 指定查看1号进程

交互模式命令

h 显示帮助画面,给出一些简短的命令总结说明

k 终止一个进程。

i 忽略闲置和僵死进程。这是一个开关式命令。

q 退出程序

r 重新安排一个进程的优先级别

S 切换到累计模式

s 改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s

f或者F 从当前显示中添加或者删除项目

o或者O 改变显示项目的顺序

l 切换显示平均负载和启动时间信息

m 切换显示内存信息

t 切换显示进程和CPU状态信息

c 切换显示命令名称和完整命令行

M 根据驻留内存大小进行排序

P 根据CPU使用百分比大小进行排序

T 根据时间/累计时间进行排序

W 将当前设置写入~/.toprc文件中

查看运行级别

who -r

runlevel

查看系统运行时间

uptime

查看默认网关

route -n

systemctl

systemctl start network

systemctl restart network

systemctl stop network

systemctl enable network

systemctl disable network

切换运行级别

init 0 关机

init 3 字符模式

init 5 图形模式

init 6 重启

kill

kill [参数] [进程号]

kill -9 254 无条件终止进程,一般来说先使用ps查询进程号grep过滤,然后使用kill命令去终止进程

killlall

killall magic_Linux02 killall 通过程序的名字,直接杀死所有进程

service

systemctl可以兼容service

service [服务] start

service [服务] restart

service [服务] stop

users

用于显示当前登录系统的所有用户的用户列表。每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数

vmstat

最常见的Linux/Unix监控工具,属于sysstat包。可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况

vmstat 2 1 (2表示每个两秒采集一次服务器状态,1表示只采集一次)

find

在指定目录下查找文件

find + 目录名称 + 参数 + 关键字

find / -name initial-setup-ks.cfg

tail

用于查看文件的指定倒数内容

tail -2 111 查看111文件最后两行

tail -f 111 查看111文件的最后十行有新内容时更新

grep

用于查找文件里符合条件的字符串

-r选项可以递归查找目录下的所有文件

可以使用正则表达式,如下:

grep 111 “^a” 查找111文件以a为开头的行

grep 111 “a$” 查找111文件以a结尾的行

查询并打印;匹配行之前和之后各2行:

# 前2行
grep -rn '87419' web.log --color -A 2
# 后两行
grep -rn '87419' web.log --color -B 2
# 前后各两行
grep -rn '87419' web.log --color -C 2

chmod

控制用户对文件的权限的命令,只有文件所有者和超级用户可以修改文件或目录的权限

将文件 file1.txt 设为所有人皆可读取 :

chmod ugo+r file1.txt

将文件 file1.txt 设为所有人皆可读取 :

chmod a+r file1.txt

将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :

chmod ug+w,o-w file1.txt file2.txt

将目前目录下的所有文件与子目录皆设为任何人可读取 :

chmod -R a+r *

此外chmod也可以用数字来表示权限如 :

chmod 777 file

若用 chmod 4755 filename 可使此程序具有 root 的权限。

chmod 0755 file

chown

chown 需要超级用户 root 的权限才能执行此命令。

把 /var/run/httpd.pid 的所有者设置 root:

chown root /var/run/httpd.pid

将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup :

chown runoob:runoobgroup file1.txt

将当前前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup:

chown -R runoob:runoobgroup *

把 /home/runoob 的关联组设置为 512 (关联组ID),不改变所有者:

chown :512 /home/runoob

hostname

hostname是主机名,用于在系统中标识一台机器

  1. vi /etc/sysconfig/network下的HOSTNAME后,把HOSTNAME值改成TEST。修改完之后需要reboot重启服务器永久生效,如下:

    HOSTNAME=test
    
  2. 临时性修改

    echo test>/proc/sys/kernel/hostname
    

3.使用hostname 名称 更改(临时修改)

hostname test

ps/pstree

ps:查看 Linux 中当前运行的进程的命令。能列出系统中运行的进程,包括进程号、命令、CPU使用量、内存使用量等
示例:
ps -a - 列出所有运行中/激活进程
ps -ef |grep - 列出需要进程
ps -aux - 显示进程信息,包括无终端的(x)
和针对用户(u)的进程:如USER, PID, %CPU, %MEM等
pstree :linux中每一个进程都是由其父进程创建的。pstree以可视化方式显示进程,通过显示进程的树状图来展示进程间关系。如果指定了pid了,那么树的根是该pid,不然将会是init(pid: 1)

clear

清屏

防火墙

1.查看防火墙状态,开启或者关闭状态。not running 关闭状态 running 开启状态

//查看防火墙状态命令

firewall-cmd --state

2.开启防火墙

// 开启防火墙命令

systemctl start firewalld

3.设置防火墙开机自启

// 设置防火墙开机自启命令

systemctl enable firewalld

4.查看防火墙开机自启是否设置成功

// 查看防火墙开机自启是否设置成功命令

systemctl is-enabled firewalld;echo $?

5.重启防火墙

// 重启防火墙命令

systemctl restart firewalld

6.放行防火墙

1. 放行80端口
   firewall-cmd --zone=public --add-port=80/tcp --permanent  
2. 放行443端口
   firewall-cmd --zone=public --add-port=443/tcp --permanent 
3. 开放80到85端端口
   firewall-cmd --zone=public --add-port=80-85/tcp --permanent
4.重新载入防火墙
   firewall-cmd --reload  #返回 success 代表成功
5.查看 返回 yes 代表开启成功
   firewall-cmd --zone=public --query-port=80/tcp
6.删除端口 返回 success 代表成功
   firewall-cmd --zone=public --remove-port=80/tcp --permanent   #关闭80端口
7、重新载入 返回 success 代表成功
   firewall-cmd --reload
8.查看所有打开的端口
   firewall-cmd --zone=public --list-ports
9.查看端口占用
   netstat -tunlp |grep 80

查看监听某个端口的进程所在位置

查看进程所在位置
有时候我们想知道某个应用在哪个目录,或者监听了某个端口的进程在哪个目录

ps aux | head -1;ps aux | grep redis

netstat -tunlp | grep 6379

得到PID 9468

然后执行:ll /proc/9468

第一个是所在目录,第二个是可执行程序的绝对路径

查看某个端口的所有网络连接

  1. 异常排查部分
  2. netstat -ano|grep #查看访问某端口的所有网络连接

查看系统环境变量

env

查看系资源

内存:

free –m

各分区使用情况:

df –h 查看磁盘剩余空间数

du -sh /gdsfApps/*(查看指定目录的大小)

du * -h | sort -hr | head -100 , 由大到小,查询前100个送占用磁盘的文件路径

网络:

ifconfig

磁盘io情况:

-x: 显示详细信息,,-x: 显示详细信息,,-k: 以 KB 为单位显示

iostat -xdk 2 3 每隔2秒,显示一次设备统计信息.总共输出3次, 显示的单位以kb为单位

rkB/s每秒读取数据量kb
wkB/s每秒写入数据量Kb
svctmI/O请求的平均时间,单位毫秒
awaitI/O请求的平均等待时间,单位毫秒,值越小,性能越好
util一秒钟有百分几的时间用于处理I/O操作,当达到100%时,标识磁盘宽带跑满,需要优化程序或者增加磁盘,是重要的指标

如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷该磁盘可能存在瓶颈。
如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;
如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。
如果avgqu-sz比较大,也表示有当量io在等待
单独进程的磁盘IO pidstat -d 2 -p 进程号

| svctm | I/O请求的平均时间,单位毫秒 |
| await | I/O请求的平均等待时间,单位毫秒,值越小,性能越好 |
| util | 一秒钟有百分几的时间用于处理I/O操作,当达到100%时,标识磁盘宽带跑满,需要优化程序或者增加磁盘,是重要的指标 |

网络io:

需要安装ifstat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值