首页
Search
1
安装docker时报错container-selinux >= 2:2.74
124 阅读
2
rsync命令(可替代rm删除巨量文件)
101 阅读
3
docker 镜像加速器配置,daemon.json文件详解
90 阅读
4
使用国内镜像地址拉取k8s安装需要的images
79 阅读
5
Redhat 8版本安装ansible步骤
75 阅读
运维
自动化运维
数据库
容器与k8s
环境
云计算
脚本
登录
Search
标签搜索
命令
nginx
Mingrui
累计撰写
64
篇文章
累计收到
0
条评论
首页
栏目
运维
自动化运维
数据库
容器与k8s
环境
云计算
脚本
页面
搜索到
19
篇与
的结果
2024-03-04
系统性能分析工具
cputop top -b -n 1 | awk 'NR==3' %Cpu(s): 3.0 us, 0.0 sy, 0.0 ni, 97.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st # us 用户空间占用CPU百分比 # sy 内核空间占用CPU百分比 # ni 用户进程空间内改变过优先级的进程占用CPU百分比 # id 空闲CPU百分比,例如:77.1%id # wa 等待输入输出的CPU时间百分比 # hi CPU服务于硬件中断所耗费的时间总额 # si CPU服务软中断所耗费的时间总额 # st Steal time 虚拟机被hypervisor偷去的CPU时间(如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)htop# 系统默认没有安装该命令,需要先安装 yum -y install htopvmstat类别参数含义说明procs进程r等待执行的任务数展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。 b等待IO的进程数量 memory内存swpd正在使用虚拟的内存大小,单位k free空闲内存大小 buff已用的buff大小,对块设备的读写进行缓冲 cache已用的cache大小,文件系统的cache inact非活跃内存大小,即被标明可回收的内存,区别于free和active当使用-a选项时显示 active活跃的内存大小当使用-a选项时显示swapsi每秒从交换区写入内存的大小(单位:kb/s) so每秒从内存写到交换区的大小 iobi每秒读取的块数(读磁盘)块设备每秒接收的块数量,单位是block,这里的块设备是指系统上所有的磁盘和其他块设备,现在的Linux版本块的大小为1024bytes bo每秒写入的块数(写磁盘)块设备每秒发送的块数量,单位是blocksystemin每秒中断数,包括时钟中断这两个值越大,会看到由内核消耗的cpu时间sy会越多 cs每秒上下文切换数每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目cpuus用户进程执行消耗cpu时间(user time)us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或其他措施了 sy系统进程消耗cpu时间(system time)sys的值过高时,说明系统内核消耗的cpu资源多,这个不是良性的表现,我们应该检查原因。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足 ld空闲时间(包括IO等待时间)一般来说 us+sy+id=100 wa等待IO时间wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。内存free free -h| awk 'NR==2{print "内存大小:"$2"\t已经使用:"$3"\t剩余内存大小:"$4}'topvmstat见上文硬盘dfiotopyum -y install iotop参数描述-o只显示正在产生I/O的进程或线程,运行过程中,可以通过按o随时切换-b非交互式下运行,一般用来记录日志-n设置监控(显示)次数,主要用于非交互式,默认无限-d设置显示的间隔秒数,支持非整数-p只显示指定进程(PID)的信息-u显示指定用户的进程信息-P只显示进程,不显示所有线程-a累积的I/O,显示从iotop启动后每个进程累积的I/O总数,便于诊断问题-k显示使用KB单位-t非交互模式下,加上时间戳-q只在第一次监测时显示列名. 去除头部一些行:这个参数可以设置最多3次来移除头部行:-q列头部只在最初交互显示一次;-qq列头部不显示;-qqq,I/O的总结不显示vmstat见上文网络流量iftopyum -y install iftop点击查看该命令的具体用法 用法示例iftop -i eth0 -nNB -m 10M #-i 指定网卡 #-n 代表主机通过ip显示不走DNS #-N 只显示连接端口号,不显示端口对应的服务名称(不加会显示如ssh这样的服务名称,不便于排查) #-B 指定显示单位为Kb,默认是bit,太小! #-m 设置输出界面中最上面的流量刻度最大值,流量刻度分5个大段显示iptrafyum -y install iptraf iptraf-ng -d eth0网络连接netstat与ss一般用法: ss -ntulp | grep xxx进程pstop一般用法:ps -ef: 显示系统中所有进程的列表,包括其他用户的进程ps -aux: 显示详细的进程信息,包括CPU和内存使用情况等ps -ef | grep <进程名>:查找指定进程名的进程。 ps -ef | grep -v grep | grep <用户>:查找指定用户的进程。 ps -ef --forest:以树形结构显示进程和它们的父进程。 ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head:按内存使用率排序显示前几个进程的信息。
2024年03月04日
52 阅读
0 评论
0 点赞
2024-03-01
vm命令演示(虚拟机)
[root@server1 ~]# man vm NAME vm ‐ virtual machine tool. 语法: vm [选项]... 虚拟机名称... 描述: vm是使用shell编写的虚拟机脚本管理程序, vm支持的选项有:{clone|clonebase|clonemysql|remove|setip}. clone可以基于模板虚拟机克隆新的虚拟机(虚拟机包含2块网卡). clonebase可以基于模板克隆新的虚拟机(虚拟机包含1块网卡). clonemysql可以基于模板克隆新的虚拟机(虚拟机包含mysql相关数据). remove可以删除若干台虚拟机. setip可以通过脚本自动给虚拟机配置IP地址. 案例: 1)克隆一台名称为myvm的虚拟机(包含2块网卡). # vm clone myvm 2)克隆一台包含1块网卡的虚拟机,虚拟机名称为demo. # vm clonebase demo 3)克隆一台msyql虚拟机,虚拟机名称为host22. # vm clonemysql host22 4)删除名称为myvm的虚拟机. # vm remove myvm 5)为名称为demo的虚拟机设置IP地址(IP地址为192.168.88.100). # vm setip demo 192.168.88.100 6)循环批量创建虚拟机(myvm_1,myvm_2,myvm_3,myvm_4,myvm_5). # vm clone myvm{1..5} 7)循环批量删除虚拟机(myvm_1,myvm_2,myvm_3,myvm_4,myvm_5). # vm remove myvm{1..5} 示例# 创建名为node1的虚拟机。 [root@server1 ~]# vm clone node1 Domain node1 started [ OK ] # 创建完成后,虚拟机自动启动。可以通过系统命令查看: [root@server1 ~]# virsh list Id Name State ---------------------------------------------------- 1 node1 running # 为创建的、名为node1的虚拟机配置IP地址:192.168.88.11 [root@server1 ~]# vm setip node1 192.168.88.11 # 登录虚拟机,默认密码为a [root@server1 ~]# ssh 192.168.88.11 root@192.168.88.11's password: # 修改yum配置 [root@localhost ~]# vim /etc/yum.repos.d/local.repo [BaseOS] name=CentOS Linux $releasever - BaseOS baseurl=ftp://192.168.88.240/dvd enabled=1 gpgcheck=1 # 删除名为node1的虚拟机 [root@server1 ~]# vm remove node1 vm node1 delete [ OK ] # 创建2台虚拟机,名称分别为web和db [root@server1 ~]# vm clone web db Domain web started [ OK ] Domain db started [ OK ] # 创建3台虚拟机,名称分别为node1、node2和node3 [root@server1 ~]# vm clone node{1..3} Domain node1 started [ OK ] Domain node2 started [ OK ] Domain node3 started [ OK ] # 删除刚才创建的5台虚拟机 [root@server1 ~]# vm remove web db node{1..3} vm web delete [ OK ] vm db delete [ OK ] vm node1 delete [ OK ] vm node2 delete [ OK ] vm node3 delete [ OK ]
2024年03月01日
51 阅读
0 评论
0 点赞
2024-02-29
分割,合并,排序,去重命令介绍
{mtitle title="cut"/}cut:从文本中提取一段文字并输出cut命令从文件的每一行剪切字节、字符或字段,并将这些字节、字符或字段输出至标准输出。参数选项解释说明-b以字节为单位进行分割-n取消分割多字节字符,与-b选项连用-c以字符为单位进行分割-d自定义分隔符,默认以tab为分隔符-f与选项-d连用,指定显示区域N第N个字节、字符或字段N-从第N个字节、字符或字段开始直至行尾N-M从第N到第M(包含M)个字节、字符或字段-M从第一个到第M(包含M)个字节、字符或字段cut -c 2-10 test.txt cut -nb 2-10 test.txt cut -d : -f 1 /etc/passwd root bin daemon cut -d : -f 3-5 /etc/passwd # 显示第三列到第五列{mtitle title="split"/}split:可以按照指定的行数或者指定的文件大小分割文件。参数解释-b指定分割后文件的最大字节数-l指定分割后文件的最大行数-a指定后缀长度,默认为2位字母-d使用数字后缀split -l 10 a.txt newa #每10行分割一次,分割的文件名以newa开头 split -l 10 -a 3 a.txt new_ #参数-a指定后缀的长度 new-aaa new-aab new-aac split -b 500k -d a.txt newa_ #按文件大小分割文件,500k一个,使用数字后缀。{mtitle title="paste"/}paste:将文件按照行与行进行合并,中间使用tab隔开语法格式:paste [option] [file]说明: 如果file是“-”,表示从标准输入读取内容参数选项:-d: 指定合并的分隔符,默认是tab-s: 每个文件占用一行{mtitle title="sort"/}sort:将输入的文件内容按照指定的规则进行排序,然后将排序结果输出。参数说明-b忽略每行开头存在的空格-n依照数值的大小进行排序-r倒序排列-u去除重复行-t指定分割符-k按指定区间排序sort -n -t. -k3,3 -k4.1,4.3 a.txt ### -n:按照数字排序 -t:按“.”作为分隔符 -k3,3:从第3个字段开始到第3个字段结束排序 -k4.1,4.3:从第4个字段第1个字符开始到第4个字段第3个字符结束排序 .号连接的是字符 ,连接的是字段{mtitle title="uniq"/}uniq:去除重复行参数说明-c去除重复行,并计算每行出现的次数-d只显示重复的行-u只显示唯一的行{callout color="#f0ad4e"}uniq只能对相邻的重复行进行去重操作{/callout}{mtitle title="wc"/}wc:统计文件的行数,单词数或字节数参数说明-c统计字节数-w统计单词数-m统计字符数-l统计行数-L打印最长行的长度
2024年02月29日
58 阅读
0 评论
0 点赞
2024-02-29
关于安全使用删除命令(rm)的实践经验
用mv替代rm,不要着急删除,而是将要删除的内容先移动到/tmp目录下。删除前务必备份,最好是异机备份,若出现问题随时可以还原。如果非要删除,可以使用find命令替代rm,示例find . -type f -name "*.txt" -mtime +7 | xargs rm -f find . -type f -name "*.txt" -mtime +7 -exec rm {} \; find . -type f -name "*.txt" -mtime +7 -ok rm {} \; #安全模式,删除前需确认。如果非要使用rm命令删除,那么应先切换目录再删除(或使用绝对路径),尽量避免使用通配符。对文件的删除禁止使用 “rm -rf 文件名”的格式,因为rm -rf 误删目录时并不会有提示,非常危险。最多使用“rm -f 文件名”,推荐使用“rm 文件名”。如果费用使用通配符,在通配符前面加上表示当前目录的“./”,示例:rm -rf ./* rm -rf ./ * #"*"的前面不小心多了个空格,会把当前路径下的所有内容都删除,非常危险。慎用 rsync --delete对于重要的文件。可以设置硬链接来防止文件被误删除。
2024年02月29日
50 阅读
0 评论
0 点赞
2024-01-31
php8.2安装后配置php-fpm步骤
源码包安装好php软件后,会生成下列提示信息。其中/usr/local/php目录是预编译的时候使用--prefix=/usr/local/php/ 模块指定的,这样php的配置信息、启动程序就都在该目录下面了。 下面是详细的配置过程将php程序的位置加入PATH变量中。#在profile文件的末尾加入两行内容 vim /etc/profile PATH=$PATH:/usr/local/php/bin export PATHsource /etc/profile echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/php/bin复制相关的配置文件cp php.ini-production /usr/local/php/etc/php.ini cp sapi/fpm/www.conf /usr/local/php/etc/php-fpm.d/ cp sapi/fpm/php-fpm.conf /usr/local/php/etc/ mkdir /usr/local/php/fpm cp sapi/fpm/init.d.php-fpm /usr/local/php/fpm/php-fpm chmod 740 /usr/local/php/fpm/php-fpm useradd www -s /sbin/nologin /usr/local/php/fpm/php-fpm start可以看到php-fpm已经正常运行复制service文件,使systemctl可以管理php-fpmcp /root/ php-8.3.1/sapi/fpm/php-fpm.service /usr/lib/systemd/system/ systemctl daemon-reload systemctl restart php-fpm systemctl enable php-fpm
2024年01月31日
67 阅读
0 评论
0 点赞
1
2
3
4