近期公司网站全面版本升级,使用thinkphp5.1版本为基础,进行了二次开发,在全面更新后,网站链接暴涨增值98万,运行一周未出现什么问题,但是在下一周,忽然程序出现大面积404页面,查看日志及错误信息,发现是linux服务器tmp目录爆满,导致mysql无法写入,程序崩盘。
由于Linux没有回收站功能,所以线上服务器上所有要删除的文件都会先移动到系统/tmp目录下,然后定期清除/tmp目录下的数据。这个策略本身没有问题,但是通过检查发现这台服务器的系统分区中并没有单独划分/tmp分区,这样/tmp下的数据其实占用了根分区的空间。既然找到了问题,那么删除/tmp目录下一些占空间较大的数据文件即可,检查/tmp下最大的三个数据文。
在研究了一阵后,发现是APT如果在安装某个包中断后,以后再安装什么都会汇报依赖那个包失败。因此linux-image-extra-4.4.0-116-generic这个包很可能是在某次apt upgrade过程中被安装的,但是由于/boot目录已满,导致安装linux-image-extra-4.4.0-116-generic失败,以至于后面的apt命令都汇报依赖该包失败。
今天在线上运维过程中,遇到了一个TiDB写满操作系统磁盘的问题,最终通过查阅官方文档解决,这里记录一下。
描述:文件元数据(Metadata)是文件的属性,它描述了文件的基本信息,例如文件大小、创建时间、类型、权限等。其通常是存放在inode (index node) 表中,inode 表中有很多条记录组成,第一条记录对应的存放了一个文件的元数据信息。
线上一台Linux服务器最近经常磁盘根分区满告警, 但不是普通的日志文件或数据文件过多过大,现象如下: 1)执行“df -h”查看各分区空间的使用情况 [root@XEN64 /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 9.8G 8.7G 535M 95% / devtmpfs 7.7G 0 7.7G 0% /dev tmpfs 7.7G 0 7.7G 0% /dev/shm tmpfs 7.7G 666M 7.1G 9% /run tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup /dev/sda3 20G 3.3G 16G 18% /usr/local 可以看到根分区使用率超过了预警值, 进入根目录,查看根目录下各子目录的大小: [root@XEN64 /]# du -sm * 0 bin 180 boot 0 dev 24 etc 3 home 0 lib 0 lib64 1 lost+found 1 media 1 mnt 32 opt du: cannot access 'proc/17842/task/17842/fd/4': No such file or directory du: cannot access 'proc/17842/task/17842/fdinfo/4': No such file or directory du: cannot access 'proc/17842/fd/4': No such file or directory du: cannot access 'proc/17842/fdinfo/4': No such file or directory 0 proc 2 root 666 run 0 sbin 1 srv 0 sys 96 tmp 5856 usr 221 var 进一步检查/usr目录: [root@XEN64 /usr]# du -sm * 358 1.2-compat 164 bin 1 etc 1 games 33 include 912 lib 432 lib64 101 libexec 3269 local 1 man 46 sbin 547 share 1 src 0 tmp 对比du和df的结果,可以发现两者的已使用大小不一致, du命令得到的已用大小远小于df命令已用大小,初步猜测存已被删除文件仍然有进程在写它,导致du命令发现不了。 如果允许,最简单的处理方式是重启机器,不然用下列命令找出被删除的,但仍然可能有进程在写它的文件: pids=`ps aux|awk '{print $2}'`;for pid in $pids; do lsof -p $pid|grep del; done 见到庐山真面目: [root@XEN64 /proc]# pids=`ps aux|awk '{print $2}'`;for pid in $pids; do lsof -p $pid|grep del; done stati 28885 root 1w REG 8,1 5969132048 409096 /tmp/process_monitor-root.log (deleted) stati 28885 root 2w REG 8,1 5969132048 409096 /tmp/process_monitor-root.log (deleted) stati 28885 root 3u REG 8,4 20480039 35651587 /data/consumer/log/consumer.log.5 (deleted) consumer 29756 root 1w REG 8,1 5969132048 409
本文是马哥教育特约金牌讲师、Linux运维专家魏巍的分享《Anisble常用模块入门指南》的文字整理篇。 朋友们晚上好: 今天我为大家带来的分享是 Ansible系列课堂之基础入门-基础模块的使用 难度指数: 2星(满星5星) 技术指数: 5星(满星5星) 理论指数: 2星(满星5星) 面向人群: 自动化运维&初中级运维 简单做下自我介绍: 魏巍: 出生时经医生证实为90后超早期,狂热的单车与开源爱好者,6年Linux一线运维经验,《Ansible权威指南》一书联合作者,做事情常出于“我不懂所以我想知道
1.cd -,cd,..,.有什么功能 cd 打开用户根目录 cd – 打开上一次工作目录 . 当前目录 .. 上一级目录 2.查看当前所在目录绝对路径 pwd 3.查看当前目录下所有文件,并按修改时间从旧到新排序 ll -alrt a是所有文件,l是详细信息方式,r是逆序,t是最新在前面 4.ln f1 f2与ln -s f1 f2的区别 ln 不带-s参数是硬连接,带-s是软连接,软链接可以跨文件系统,可以连接windows下的文件到linux下 硬连接指向同一个节点,会增加连接数,只要
我们知道,在MySQL中,redo log是一个文件组,一般是3个文件,循环写入,写满的时候会做redo log层面的checkpoint,然后覆盖之前的redo log;而binlog是有归档功能的,每个binlog写满之后,都会重新开启下一个binlog开始写入,这也是为什么可以使用binlog来进行数据恢复的一个原因,就是因为它的归档功能。
ls 命令用于显示指定工作目录中所包含的文件,该命令的使用方法如下:ls [选项] [文件目录列表]
######################################################### # 硬盘显示被写满但是用du -sh /*查看时占用硬盘空间之和还远 #小于硬盘大小问的解决 #date:2010-06-09 #作者:老男孩---《老男孩linux就业培训中心 》 #QQ:31333741 #QQ交流群:385168604 #blog: http://oldboy.blog.51cto.com ##########################################################
#1 - 错误: 设备上无剩余空间 当你的类UNIX系统磁盘写满了时你会在屏幕上看到这样的信息。本例中,我运行fallocate命令然后我的系统就会提示磁盘空间已经耗尽: $ fallocate -l 1G test4.imgfallocate: test4.img: fallocate failed: No space left on device 第一步是运行df命令来查看一个有分区的文件系统的总磁盘空间和可用空间的信息: $ df 或者试试可读性比较强的输出格式: $ df -h 部分输出内容: Fi
linux中cgroup是用于进程资源限制的重要技术,cgroup的命令众多,见之前文章 推荐!两个有用的运维工具nsenter+cgroup(一) 说明,本文用一个例子讲解操作cgroup的5个常用命令,分别为cgcreate、cgset、cgexec、 cgclassify、cgdelete。
由于本人工作原因,涉及到网络直播领域,其中视频的回放下载,涉及到了一些视频下载方面的技术。针对于一个完整视频的下载,目前市面上的主流做法是,先将整个视频流切片,存储到文件服务器中,在用户需要观看回放视频时。通过一个视频回源服务器,去文件服务器中逐个请求切片,返回给用户播放。
某项目上出现 MySQL Crash,相关 errorlog 日志如下,从日志可以看出是 binlog error 导致的问题,但是无法确认具体原因,网上大部分资料都说是由于空间已满导致,后来在系统日志( /var/log/message)中确实找到了 / 分区空间已满的信息,所以基本可以确认 binlog error 是由于磁盘空间已满导致,进而造成 MySQL Crash。
原因 磁盘临时存储不够,/tmp或者在my.cnf指定的目录满啦 还有可能是用户目录存储不够,可以运行df -h查看,如下可以看到100%爆满 解决 对于第一种问题解决方法: 方法一:清空/tm
一、背景 近日在客户系统运维中发现,有系统在定时脚本执行期间会将Linux系统CPU利用率跑满,导致其他服务受到影响,故查阅资料发现有大神写的CPU利用率限制程序。 地址:CPU Usage Limiter for Linux 根据此编写脚本,配合定时任务放置在服务器上,达到限制程序CPU情况,可根据自己系统CPU核心数进行参数配置,会记录CPU超过阀值的日志,可供后期进行查看分析。 二、脚本 GIT地址:cpulimit.sh #!/bin/bash # auth:kaliarch # func:sys
在 Linux 上自建 MySQL 服务器,经常遇到各种无法启动或启动后异常的问题,本文列举一些常见问题的解决办法。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133160.html原文链接:https://javaforall.cn
日常运维过程中,我们经常需要处理磁盘空间问题,当接到告警后,第一时间会去找那些大文件,一般比如centos,可能大文件就是 /var/log/messages。
事情是这样发生的- ,还是和数据泵有关的一个问题,但这次不是说数据泵的问题。应用方通过数据泵导入数据时发生空间不足的问题 “No space left on device”,询问是否空间不足导致,错误如下所示:
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。Linux的性能是非常出色的,可以完全针对机器的配置有针对性的优化,这一点也是Windows无法比拟的。对于测试工程师来说完全掌握Linux是最基本的了,Linux系统主要用于部署环境和系统日志查询。个人比较喜欢的一款Linux客户端连接工具Xmanager官方下载地址:http://www.xshellcn.com/
文件如果在被某个进程打开后删除,还会存在文件系统中,只是标记为(deleted)状态。
在Linux操作系统下有时需要限制一个指定文件夹的大小和文件夹内可存储的文件数量,有可能是出于安全的考量或者定制化的配置,这里我们提供了一种方案:用dd创建一个空的img镜像,进行格式化的配置,然后将其绑定到指定的文件夹上可以限制该文件夹的一些属性。
日常运维过程中,我们经常需要处理磁盘空间问题,当接到告警后,第一时间会去找那些大文件,一般比如 Centos,可能大文件就是 /var/log/messages。
Linux 常用指令 文章目录 简介 常用指令 虚拟机网络相关指令 虚拟机最简化安装开启网络服务 虚拟机指定ip 文件操作相关指令 文件提升权限 服务器之间传递文件 scp指令 rz/sz 指令 移动文件 删除文件 sed 相关指令 查看当前目录文件大小 rpm相关指令 查看是否安装服务 安装 卸载 ip相关指令 查看ip(三种方法) 防火墙 查看进程 查看资源 设置nfs 从机(slave) 主机(master) 打印不同颜色的字 文件从 dos 模式转成 unix 模式 批量将 wind
本篇讲述磁盘管理相关的命令。计算机中需要持久化存储的数据一般是保存在硬盘等辅助存储器中。硬盘一般容量较大,为了便于管理和使用,可以将硬盘分成一到多个逻辑磁盘,称为分区;为使分区中的文件组织成操作系统能够处理的形式,需要对分区进行格式化(创建文件系统);在linux中,对于格式化后的分区,还必须经过挂载(可简单理解为将分区关联至linux目录树中某个已知目录)之后才能使用。
客户端 : 192.168.17.171 服务端 : 192.168.17.173
之前做过两年的运维,用过很多命令,深切体会到某些linux命令熟练掌握后对效率提升有多大。举个简单的例子,在做了研发后经常会有跑一些数据,对于结果数据的处理,我们的产品同学一般都习惯于用excel做统计,把数据复制到excel里,然后数据分列,排序………… 最后得出某些简单的结论,我只需要cat, sort, uniq, awk, grep 这几个命令挥手间完成相同的操作。
工作中经常会遇到数据拷贝或者数据同步事情。一般情况会使用 rsync 来做数据拷贝或者数据同步等。
参考https://blog.csdn.net/ithomer/article/details/89530790 查看某个目录的文件大小并排序(单位为MB).此处查看/var目录
在上一篇Linux系列文章:Linux之系统操作命令,主要介绍了Linux登录与退出系统,关机,系统信息查看,用户信息查看等相关命令。以下,介绍Linux文件及目录常用命令。
本文旨在通过一些常用命令的用法示例,让有一定linux基础的开发同学能对系统进行简单配置,也能够上服务器定位或者解决一些简单基础性的问题,做出初步故障排除,或者为运维同学描述故障的表现提供帮助。
[Code: 1290, SQL State: HY000] The MySQL server is running with the –secure-file-priv option so it cannot execute this statement 通过show variables like ‘%secure_file_priv%’; secure_file_priv参数说明
MySQL 报错 [Code: 1290, SQL State: HY000] The MySQL server is running with the –secure-file-priv option so it cannot execute this statement 通过show variables like ‘%secure_file_priv%’; secure_file_priv参数说明 这个参数用来限制数据导入和导出操作的效果,例如执行LOAD DATA、SELECT … IN
介绍一下 Linux 的权限管理。Linux 是多用户的操作系统,允许多个用户同时登录和工作,Linux 权限是操作系统用来限制不同用户对资源的访问机制。这里暂且将 Linux 中的权限分为三类:
在Linux操作系统中,tmp目录是一个临时目录,用于存储临时文件。这个目录通常位于根目录下,命名为/tmp。本文将详细介绍Linux中的tmp目录,包括它的作用、权限、使用方法和安全性等方面。
/boot/ 系统启动目录; /sys/ 系统内核相关目录; /proc/ 系统进程目录; /run/ 系统产生临时文件目录; /bin/ 用户命令目录 /sbin/ root用户命令目录 /lib/ 库目录 /lib64/ 库目录,配置文件目录 /media/ 媒体挂载目录 /mnt/ 临时挂载目录
– a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
tar命令 解压文件到指定目录:tar -zxvf /home/zjx/aa.tar.gz -C /home/zjx/pf tar [-cxtzjvfpPN] 文件与目录.... 参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看tarfile 里面的文件! 特别注意,在参数的下达中,c/x/t 仅能存在一个!不可同时存在! 因为不可能同时压缩与解压缩。 -z :是否同时具有gzip 的属性?亦即是否需要用gzip 压缩? -j :是否同
Linux严格意义上说的是一个操作系统(os),我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的**“外壳”程序**,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?
命令格式:命令 [-选项] [参数] 例:ls -la /etc 说明:当有多个选项的时候,可以写在一起;简化选项前面一般用-,而完整选项前面一般用--,例如-a等于—all;用中括号括起来,表示可选 l 目录处理命令:ls 命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 功能描述:显示目录文件 语法:ls 选项[-ald] [文件或目录] -a:显示所有文件,包括隐藏文件 -l:详细信息显示 -d:查看目录属性 下面我们试着在Linux中
编写shell脚本的时候经常需要解压缩到指定的文件夹,tar命令是最常用的 参考一下说明,其中注意-C的用法。 tar命令 解压文件到指定目录:tar -zxvf /home/zjx/aa.tar.gz -C /home/zjx/pf tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能存在一个!不
strace会追踪程序运行时的整个生命周期, 输出每一个系统调用的名字、参数、返回值和执行所消耗的时间等,是高级运维和开发人员排查问题的杀手铜。https://www.cnblogs.com/fadewalk/p/10847068.html
Linux与windows和Mac一样,是一个操作系统(OS)。但区别于windows和mac的图形界面,linux的操作靠命令行来实现。这样可以节约资源,方便批量、高效地处理文件,满足大数据分析的要求。因而Linux系统受到了广大生信研究者的青睐。
linux下使用tar命令 解压 语法:tar [主选项+辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。 主选项: c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。 x 从档案文件中释放文件。相当于拆包。 t 列出档案文件的内容,查看已经备份了哪些文件。 特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。 辅助选项: -z :是否同时具有 gzip
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。 主选项: c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
在制作Initramfs文件系统之前,我先简单介绍下linux各文件系统。linux支持多种文件系统类型,包括ext2,ext3,vfat,jffs,
领取专属 10元无门槛券
手把手带您无忧上云