起始今天中午测试反馈说线上系统频繁的报502错误,并且响应极慢。开始怀疑是公司哪位小哥在下载小电影,但打开其他网站都很快。于是继续怀疑难道是业务激增导致带宽被占满了,于是登录监控界面,显示只用了80Mb,带宽也没占满。发现根本原因ssh上服务器之后,本能的执行top命令,返现cranberry进程几乎把cpu吃满了。于是尝试kill掉进程kill-914465kill掉之后,cranberry又会
操作系统性能监测服务端程序除了应用本身性能外,依赖与服务器本身的性能,今天学习了如何监测服务器性能。包括:CPU、内存、网络IO和磁盘使用率。今天先看看如何监测CPU。CPU监测CPU使用率vmstat命令oot@SSP001:[/root]vmstatprocs-----------memory-------------swap-------io------system-------cpu---
操作系统性能监控服务端程序除了应用本身性能外,依赖与服务器本身的性能。服务器性能指标包括:CPU、内存、网络IO和磁盘使用率。今天学习了内存监控的部分。为什么要监测内存当应用运行所需内存超过可用物理内存时,就会发生页面交换。通常会在硬盘上分配一个swap空间。当应用耗尽可用内存时,就会把不常用的内容放到swap空间里。当访问被置换到swap空间的内容时,就需要把swap空间的内容加载到物理内存中,
前言TCP在OSI七层模型中,属于第四层(传输层),帮我们处理了传输层的细节。包括限流、丢包、网络传输乱序等问题。那TCP到底是如何实现限流的呢?如果你需要复习一下基础知识,请戳这里《TCP/IP基础十分钟入门》,博主比较懒,下周补上接收端缓冲区被塞满如果sender发送速度快,reciever处理速度慢。会发生什么事?过一段时间,reciever的缓冲区被打满。当reciever缓冲区被打满后,
前言当JAVA程序遇到OutOfMemory,或者遇到内存占用升高的情况时,可以使用jmap生成堆dump文件,看是否有内存泄露。下边是具体步骤。生成堆转储信息生成dump文件有两种方式,一种是在出现错误时,自动dump堆信息,另外一种是使用命令行生成。推荐自动生成的方式,因为在程序挂掉后,堆信息就不存在了,线程被破坏自动生成通过一些JVM参数让虚拟机在内存溢出时自动dump出快照文件参数说明-X
一 单个进程打开文件句柄数过多ulimit中的nofile表示单进程可以打开的最大文件句柄数,可以通过ulimit -a查看,子进程默认继承父进程的限制(注意,是继承,不是共享,子进程和父进程打开的文件句柄数是单独算的)。网上还有一种解读是nofile表示单用户可以打开的文件句柄数,因为他们在limit.conf中看到类似于“openstack soft nofile 65536”,便
场景在系统上线后,经常会遇到运维的同学跑过来说:“这次发版后,cpu线程使用率到一场,到100%了”。这时候不要慌,可以使用堆转储来分析到底是哪个线程引起的。查找元凶[root@java_mofei_01test]#topMem:16333644ktotal,9472968kused,6860676kfree,165616kbuffersSwap:0ktotal,0kused,0kfree,666
什么叫事务事务就是一组sql组成的操作单元,要么操作全部成功,要么全部失败。ACID属性原子性(atomicity)一个事物必须被视为一个不可分割的最小工作单元,整个事务要么全部成功,要么全部失败回滚,对一个事物来说,不可能只执行其中的一部分操作。一致性(consistency)数据库总是从一个一致的状态转换到另外一个一致的状态。比如总共两个update,在第一个update后,系统崩溃了,也不会
格式[root@dmp002~]#jps-hillegalargument:-husage:jps[-help]jps[-q][-mlvV][<hostid>]Definitions:<hostid>:<hostname>[:<port>]主要参数解释:选项作用-q只输出LVMID,省略主类的名称-m输出启动时,传给main()函数的参数-l输出主类
起因今天看springboot的源码,想找一下filter是如何通过注解自动启动的,结果就找到了ServletContainerInitializer类。于是真想大白,就是这货让springboot实现了自动初始化的。规范servlet规范规定,在容器启动时,会通过ServletContainerInitializer的实现类来做初始化的工作。具体使用方法为:1.实现ServletContaine
引言在微服务架构中,我们把单块系统拆分成多个服务。在部署时,一个服务很可能分布在不同的主机,甚至是不同的机房。随着服务的不断增多,服务间相互调用、相互依赖。为了掌握服务的状态及服务所在主机的情况,就显得尤为重要!SpringBootActuatorspringbootactuator为我们暴露很多端点(endpoints),可以用来获取环境属性、线程信息、健康状况等。下表列出了常用的端点。路径描述
分组表达式的应用分组语法(?\<name>exp)匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)demopublicstaticvoidmain(String[]args){Stringpath="userservice-v5";Patternpattern=Pattern.compile("(?<name>^.+)-(?&
简介在微服务架构中,微服务会存在多个实例,部署在多台主机中。因为网络、主机状态等诸多因素,单台主机上的服务出现问题的几率大大增加。这就要求我们能够监控每台主机、每个微服务实例的健康状态。Consul作为注册中心,提供了强大、灵活的健康监测。快速上手定义check的位置为/etc/consul.d/,格式跟定义服务一样,也是JSON。下边我们定义两个check,分别为pingBaidu.json和w
服务注册方式Consul注册服务的方式有两种:1.配置文件2.API接口当然作为微服务的注册中心,添加配置文件后,可以reload配置,不需要停机。查询服务查询已经注册的服务有三种方式:API查询命令行查询DNS查询例子下面通过例子,演示相关操作。定义服务我们通过配置文件注册一个服务。按照约定,把配置文件放在/etc/consul.d中。root@598361668db6:/data#mkdir/
简介服务注册与发现作为微服务的关键组件,为微服务提供服务注册、服务发现及健康检查的功能。Consul因为功能齐全,容易使用而广受开发者欢迎。功能服务注册与发现健康检查KV存储多数据中心快速上手安装安装非常简单,Consul提供了二进制文件,下载后解压就可以用了。下载地址:Linux|MacOSXroot@598361668db6:/data#unzipconsul_1.0.2_linux_amd6
简介crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。如何使用首先查看帮助[root@dmp004orderreport]#crontab-husage:crontab[-
今天接到需求,需要根据手机号查询归属地,在网上找到几个不错的接口。提供给有同样需求的兄弟。接口参数及内容一样就能明白,不再赘述。淘宝接口接口地址:http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=18519101034返回内容:__GetZoneResult_={mts:'1851910',province:'北京',catName:
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号