Linux
文章平均质量分 72
AlbenXie
这个作者很懒,什么都没留下…
展开
-
一次Full GC导致CPU飙升的排查过程
我们决定调整jvm参数,扩大内存,修改jvm垃圾收集器,扩大内存后,后面还是出现了该问题,不过这次只是cpu飙升,系统没有出现卡顿,出现问题后,我们使用如下命令,查看jvm堆内存快照,线程堆栈,等信息。因为这次调整了堆内存大小,触发问题后,没有进行full gc,对象还在,查看内存对象占用比,发现相关代码问题,一次性加载了150万的实例到对象中,调整内存之前加载该对象后,导致内存飙升,触发gc,进而引起cpu使用率飙升。从监控看到,cpu,内存,磁盘,网络在异常发生时都有明显的抖动。转载 2023-05-04 21:35:28 · 1087 阅读 · 0 评论 -
性能优化-内存泄漏、内存溢出、cpu占用高、死锁、栈溢出、FullGC频繁检测手段-总结与分享
含义:内层溢出通俗理解就是内存不够,程序要求的内存超出了系统所能分配的范围。危害:内存溢出错误会导致处理数据的任务失败,甚至会引发平台崩溃等严重后果。应用程序CPU使用率高,甚至超过100%死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。Java 里的 StackOverflowError。抛出这个错误表明应用程序因为深递归导致栈被耗尽了。转载 2023-05-04 21:27:01 · 1575 阅读 · 0 评论 -
java程序CPU使用率高可能的原因
在Java并发编程计算密集型要进行大量的计算、逻辑判断等操作,消耗CPU资源,比如计算圆周率、对视频进行高清解码等等,全靠CPU的运算能力。这种计算密集型任务虽然也可以用多任务完成,但是任务越多,花在任务切换的时间就越多,CPU执行任务的效率就越低,所以,要最高效地利用CPU,计算密集型任务同时进行的数量应当等于CPU的核心数,我们设置线程数一般是:计算机核数n+1。计算密集型任务由于主要消耗CPU资源,因此,代码运行效率至关重要。Python这样的脚本语言运行效率很低,完全不适合计算密集型任务。原创 2023-05-04 20:53:23 · 4758 阅读 · 0 评论 -
Java 定位导致CPU飙升的代码过程
线上的一个日志实时输出的程序曾经出过这样一个问题,刚开始上线java程序占用的CPU的资源很少,但是到了整点的时候,CPU直线飙高,直接到达100%根本没有要下降的趋势,唯一的方法只能杀掉它了,后面在借助jstack与top排查到线程然后定位到某行代码出的问题。转载 2023-05-04 20:24:05 · 161 阅读 · 0 评论 -
Linux--Vi编辑命令(插入、替换、命令行模式、撤销)
【:set fileencoding=utf-8】 设置当前文件编码格式为utf-8,也可以设置成其他编码格式。【:set fileformat=unix】 将当前文件的断行格式设置为unix格式。【o】 英文小写字母o,在目前光标所在行的下一行处插入新的一行并开始插入。【O】 英文大写字母O,在目前光标所在行的上一行处插入新的一行并开始插入。【R】 会一直替换光标所在字符,直到按下[ESC]键为止。【a】 从当前光标所在的下一个字符处开始插入。【A】 从光标所在行的最后一个字符处开始插入。转载 2023-04-04 14:44:18 · 3579 阅读 · 0 评论 -
Nginx停止、修改配置文件后重启
1、停止Nginx(1)、从容停止第一步:查看Nginx的进程 ps -ef|grepnginx第二步:通过mster进程的进程号进行关闭 kill -QUIT Nginx master进程号(2)、快速停止第一步:查看Nginx的进程 ps -ef|grep nginx第二步:通过mster进程的进程号进行关闭Nginx的快速关闭有两种方式:i、kill -TERM Nginx master进程号ii、kill -INTNginx m...转载 2022-05-08 21:10:29 · 1572 阅读 · 0 评论 -
nginx更改配置文件后重启
一、找到nginx安装的位置whereis nginxnginx: /usr/local/nginx实例:二、替换配置文件进入配置文件 cd /usr/local/conf备份配置文件,上传最新的配置文件。三、检查配置文件正确性进入nginx/sbin目录cd /usr/local/nginx/sbin检查配置文件,如果错误,根据提示原因,修改配置文件。./nginx -t实例:四、重启nginx配置文件./...转载 2022-05-08 21:04:07 · 8100 阅读 · 0 评论 -
Linux之vim详解
一、vim使用介绍介绍在linux系统中,大部分配置文件都是ASCII的纯文本形式存放的,所以我们在修改系统设置的时候使用简单的文本编辑软件就可以实现了,如果你使用过windows当中的word的话,那么你可能会感觉linux字符界面的文本编辑工具并不是太好用,毕竟没有图形窗口,看着不会太舒服。但是既然要学习linux,掌握并熟练使用文本编辑工具是必不可少的技能,在linux当中的文本编辑工具有很多,如emacspico nano joe vi/vim 等等既然有这么多文本编辑工具,为什么要学.转载 2022-05-08 20:22:32 · 490 阅读 · 0 评论 -
如何查看linux服务器内存使用情况
1. free命令free命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。直接输入free命令,显示如下free命令默认是显示单位kb,可以采用free -m和free -g命令查看,分别表示MB和GB另外,free -h会自动选择以适合理解的容量单位显示Mem:表示物理内存统计,如果机器剩余内存非常小,一般小于总内存的20%,则判断为系统物理内存不够Swap: 表示硬盘上交换分区的使用情况,如剩余空间较小,需要留意当前系统内存使用.转载 2022-03-17 14:49:15 · 14973 阅读 · 0 评论 -
关于mysql数据库误删除后的数据恢复操作说明
在日常运维工作中,对于mysql数据库mysql数据库mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办???下面,就mysql数据库误删除误删除误删除后的恢复方案进行说明。一、工作场景(1)MySQL数据库每晚12:00自动完全备份。(2)某天早上上班,9点的时候,一同事犯晕drop了一个数据库!(3)需要紧急恢复!可利用备份的数据文件以及增量的binlog文件转载 2022-01-17 16:53:02 · 6472 阅读 · 0 评论 -
Linux中xsync的作用
Linux中xsync的作用是将文件同步到所有的虚拟机上原创 2020-11-10 17:13:49 · 1803 阅读 · 0 评论 -
JAVA线上故障排查全套路
线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df、free、top 三连,然后依次jstack、jmap伺候,具体问题具体分析即可。一、CPU一般来讲我们首先会排查cpu方面的问题。cpu异常往往还是比较好定位的。原因包括业务逻辑问题(死循环)、频繁gc以及上下文切换过多。而最常见的往往是业务逻辑(或者框架逻辑)导致的,可以使用js转载 2020-09-22 17:45:24 · 413 阅读 · 0 评论 -
windows系统中,在当前目录下打开cmd命令行的两种方法
1. 在当前路径地址栏中直接输入‘cmd’,然后回车。2. 在当前路径下,按住‘shift’键同时点击鼠标右键,点击“在此处打开Powershell”。3、打开后显示结果:其实你会发现,两个命令行有很大的区别。cmd:powershell:事实上对于电脑性能优秀(内存上,cmd占用内存的情况要比powershell少很多)的你来说,这并没有很大区别。powershell可以说是cmd的升级版,在原本的cmd基础之上作了一些修改,增加了一些命令而已。...转载 2020-09-15 15:37:39 · 1436 阅读 · 0 评论 -
windows命令行(终端)怎么复制粘贴
在终端里面,【ctrl】+【insert】相当于复制,【shift】+【insert】相当于粘贴;在其他操作系统的终端一样试用,例如linux。解决cmd窗口中文显示乱码:对于编译出的程序,在 cmd 和 power shell 运行时都不能正确显示汉字。网上查,可以再命令窗口修改:打开CMD.exe命令行窗口 通过 chcp命令改变代码页,UTF-8的代码页为65001chcp 65001执行该操作后,代码页就被变成UTF-8了。在当前窗口的确可以解决问题,但是重...原创 2020-09-11 15:25:39 · 4286 阅读 · 0 评论 -
正确、安全地停止SpringBoot应用服务
Spring Boot,作为Spring框架对“约定优先于配置(Convention Over Configuration)”理念的最佳实践的产物,它能帮助我们很快捷的创建出独立运行、产品级别的基于Spring框架的应用,大部分Spring Boot应用只需要非常少的配置就可以快速运行起来,是一个与微服务(MicroServices)相当契合的微框架。网络上关于Spring Boot的QuickStart式中文内容已经相当丰富,但是对于部署后怎样便捷、安全地停止服务(shutdown),还比较缺乏,最近发转载 2020-05-17 22:39:51 · 582 阅读 · 0 评论 -
Java自带的JVM性能监控及调优工具(jps、jinfo、jstat、jmap、javap)使用介绍
JVM介绍JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM性能监控及调优的意义JVM作为java程序运行时的环境,它的性能好坏直接影响java程序的性能,合适的环境对于java程序起着举足轻重的作用。性能监控及调优工具1. jpsj...转载 2020-04-29 15:39:57 · 786 阅读 · 0 评论 -
PV、UV、IP分别是什么意思
PV、UV、IP可能各有它们不同的意思,但是当它们出现在一起的时候,多指网站的运营与管理这方面。在这儿小编就为大家分享一下PV、UV、IP分别是什么意思。网站运营:1、PVPage View(页面访问量)又叫做页面浏览量、点击量。通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。用户每打开一个网站页面就被记录1次。用户多次打开同一页面,浏览量值累计。所以,页面访问量是...原创 2020-04-19 23:41:32 · 1181 阅读 · 0 评论 -
服务器一般达到多少QPS比较好?
每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间 公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS) 机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器 每天...转载 2020-04-19 23:26:30 · 6773 阅读 · 0 评论 -
什么是僵尸进程,如何找到并杀掉僵尸进程?
如果你经常使用 Linux,你应该遇到这个术语“僵尸进程Zombie Processes”。 那么什么是僵尸进程? 它们是怎么产生的? 它们是否对系统有害? 我要怎样杀掉这些进程? 下面将会回答这些问题。什么是僵尸进程?我们都知道进程的工作原理。我们启动一个程序,开始我们的任务,然后等任务结束了,我们就停止这个进程。 进程停止后, 该进程就会从进程表中移除。你可以通过 System-M...转载 2020-01-13 13:31:39 · 1074 阅读 · 0 评论 -
dos常用命令
帮助查看命令$ help有关某个命令的详细信息,请键入 HELP 命令名ASSOC 显示或修改文件扩展名关联。ATTRIB 显示或更改文件属性。BREAK 设置或清除扩展式 CTRL+C 检查。BCDEDIT 设置启动数据库中的属性以控制启动加载。查看命令帮助$ del /?删除一个或数个文件。...转载 2019-11-06 10:16:39 · 272 阅读 · 0 评论 -
Linux 在线模拟器
最近在学习Linux的一些命令的使用,但是很久之前装的Linux虚拟机被删掉了,又不想为了练习几个命令折腾一遍虚拟机。所以,就尝试地搜了一下,看看有没有在线的Linux模拟器可以使用,只要可以练习一下命令的使用即可。在google中用英文关键词一搜,还真有大牛弄出了一些在线的Linux模拟器,而且用起来还不错。搜集了4个,赶紧分享出来,供大家初步学习和实践Linux之用。jslinux::ht...转载 2019-11-06 10:14:43 · 10257 阅读 · 0 评论 -
SecureCRT中文乱码问题的解决
最近开始使用SecureCRT,但发现中文一直是乱码:上网搜查时编码问题,于是就把编码改为了UTF-8:然而并没有解决问题,中文变成了?:编码修正后,还是不行,点击Font,发现字符集是西文,马上修改成中文GB2312确定保存后,中文正常显示了:小结:影响中文显示一般先考虑编码方式,再考虑字符集设置。...转载 2019-10-12 15:29:26 · 369 阅读 · 0 评论 -
Linux下的tar压缩解压缩命令详解
tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出下面的参数-f是必...原创 2019-09-19 12:38:44 · 323 阅读 · 1 评论 -
Linux的sed命令
sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反...原创 2018-06-14 06:04:05 · 450 阅读 · 0 评论 -
ubuntu下安装nginx
这篇文章记录ubuntu下采用apt-get命令和编译源码安装nginx的方法。使用apt-get安装直接使用sudo apt-get install nginx安装安装完成后,使用浏览器访问http://127.0.0.1 或者 http://localhost,若浏览器显示 welcome to nginx! 则说明安装成功。源码安装转载 2018-01-08 17:27:35 · 504 阅读 · 0 评论 -
linux查看硬件信息命令和教程详解
众所周知,Linux大部分操作是通过命令实现的,并不像windows那么直观。linux查看硬件信息也是需要通过linux查看硬件信息命令查询的,下面小编来分享一下linux查看硬件信息的方法和命令写法。linux查看硬件信息一、查看cpulscpu命令,查看的是cpu的统计信息:blue@blue-pc:~$ lscpuArchitecture: i68...转载 2019-09-10 19:50:42 · 1067 阅读 · 0 评论 -
Linux返回上一级目录的命令
cd .. 返回上一级目录cd ../.. 返回上两级目录cd或cd ~ 返回home目录cd - 目录名 返回指定目录转载 2019-09-09 13:56:02 · 1424 阅读 · 0 评论 -
linux命令ps aux|grep xxx详解
对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大的进程查看命令.使用该命令 可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连原创 2018-01-08 18:26:19 · 516 阅读 · 0 评论 -
Linux下安装Elasticsearch5.X
下载Elasticsearch 登录官网 https://www.elastic.co/cn/downloads 选择下载elasticsearch,根据需要选择对应的安装包,这里选择5.0版本,下载完后得到 elasticsearch-5.0.0.tar.gz解压安装 将 elasticsearch-5.0.0.tar.gz 拷贝到 /opt 目录下。原创 2018-01-08 18:13:45 · 634 阅读 · 0 评论 -
Linux 更改文件名
没有专门的重命名 命令用 mv a b 就可以重命名了=========================================mv :move 移动文件(延伸功能:重命名,linux系统没有专门的重命名命令) 基本格式: 移动文件:mv 文件名 移动目的地文件名 重命名文件:mv 文件名 修改后的文件名转载 2018-01-08 17:37:14 · 18693 阅读 · 0 评论 -
Ubuntu Docker 安装
Ubuntu Docker 安装Docker 支持以下的 Ubuntu 版本:Ubuntu Precise 12.04 (LTS)Ubuntu Trusty 14.04 (LTS)Ubuntu Wily 15.10其他更新的版本……前提条件Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来原创 2018-01-04 16:08:25 · 469 阅读 · 0 评论 -
Ubuntu14.04下安装docker
有以下几种方式:1. 通过系统自带包安装(可能不是最新版)$ sudo apt-get update $ sudo apt-get install -y docker.io $ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker $ sudo sed -i '$acomplete -F _docker docker' /e原创 2018-01-04 16:10:07 · 447 阅读 · 0 评论 -
linux下更改MySQL数据库存储路径
第1步:使用第三方软件SSH成功登录到centos系统。第2步:首先先停止掉mysql服务,在终端中执行“/etc/init.d/mysql stop”并回车确定。如果提示“Shutting down MySQL. SUCCESS!”就说明已经成功停止了mysql服务了。第3步:修改mysql配置文件,执行“vi /etc/my.cnf”命令并确定。第4步:转载 2018-01-15 18:02:15 · 991 阅读 · 0 评论 -
Centos 与本地终端 上传、下载 文件
首先安装lrzsz # yum -y install lrzsz 1.上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可。# rz 运行rz命令后弹出选择文件窗口,找到要上传的文件后确认,文件会被上传到Centos当前目录下2.下载文件,执行命令sz# sz 文件名运行 sz命令后 弹出选择保存路径窗口,点击确认后 Centos上的文件原创 2018-01-15 18:00:16 · 1002 阅读 · 0 评论 -
完整过程解决 ERROR 1045 (28000): Access denied for user 'mysql'@'localhost' (using password: NO)
第一步:修改pid路径查看日志文件: cat /var/log/mysqld.log2013-10-26 16:39:34 3712 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2 - No such file or directory转载 2018-01-15 14:59:43 · 912 阅读 · 0 评论 -
Linux(Ubuntu)下MySQL的安装与配置
1)首先检查系统中是否已经安装了MySQL在终端里面输入 sudo netstat -tap | grep mysql若没有反映,没有显示已安装结果,则没有安装。若如下显示,则表示已经安装2)如果没有安装,则安装MySQL.在终端输入 sudo apt-get install mysql-server mysql-client运行结果如下原创 2018-01-12 18:08:01 · 876 阅读 · 0 评论 -
CentOS6.4下Mysql数据库的安装与配置
如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk、tomcat、eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk、tomcat、ec原创 2018-01-12 17:59:36 · 560 阅读 · 0 评论 -
在 Ubuntu 15.04 上如何安装Docker及基本用法
一、简单介绍Docker 现在是越来越火了,有取代 KVM 的趋势,当然我认为还是各有各的优势,本人接触 Docker 目前也是仅限于文字上的信息,本文的原文是 Howtoforge,所以翻译可能会有欠缺的地方,还请大家指正。Docker 是一个开源项目,为开发者和系统管理员提供了一个开放的平台,在任何地方通过打包和运行应用程序作为一个轻量级的容器。Docker 在软件原创 2018-01-10 16:48:54 · 462 阅读 · 0 评论 -
ubuntu16.04安装最新版docker、docker-compose、docker-machine
安装前说明:本文将介绍在ubuntu16.04系统下安装和升级docker、docker-compose、docker-machine。docker:有两个版本:docker-ce(社区版)和docker-ee(企业版)。 笔者这里介绍安装或升级的是最新版docker-ce(社区版)。 参考官网地址:https://docs.docker原创 2018-01-10 17:11:23 · 677 阅读 · 0 评论 -
Linux系统查看CPU使用率的几个命令
在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。而监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。对于每一个CPU来说运行队列最好不要超过3,例如,如果是双核CPU就不要超过6。如果队列长期保持在3以上,说明任何一个进程运行时都不能马上得到cpu的响应,这时可能需要考虑升级cpu。另外满负荷运行cpu的使用率最好是user空间保持在65%~...原创 2017-06-06 18:02:19 · 345813 阅读 · 3 评论