NO WAY OUT | 无往不前


  • 首页

  • 分类

  • 欧拉计划

  • ARTS计划

  • 归档

  • 标签

  • 关于

  • 搜索

CPU负载过高异常定位排查

发表于 2019-09-26 | 分类于 异常排查 | | 阅读次数:

前言

当收到线上服务器 CPU 负载过高告警时,要怎么做?重启服务?忽略告警?别人不知道怎么做,但是作为一个程序猿,是一定要定位到具体问题所在并FIX它。

下面记录一下服务器 CPU 负载过高排查过程,把排查流程理清楚,以后遇到问题将会迅速定位到问题所在,快速解决。

什么样的场景会导致线上CPU负载过高?

代码层面常见的场景有:

程序陷入死循环,不停地消耗CPU
线程死锁,线程相互等待,导致假死状态,不停地消耗CPU

阅读全文 »

最近翻了一次车 - Mac下使用rm -rf ~

发表于 2019-09-19 | | 阅读次数:

最近翻了一次车

最近在创建目录的时候在当前目录下面创建了一个 ~ 的目录,强迫症发作,当时只是想把它删掉,顺手rm -rf ~

大脑在发出敲击ENTER的指令后的0.0001ms,再次发出了停止指令,还是没控制住那一只程序猿修炼多年的手,结果不出意外的杯具了,当前用户根目录下面的文件全部被删掉了。。。

阅读全文 »

ARTS打卡第一周 - To be or not to be

发表于 2019-09-19 | 分类于 ARTS | | 阅读次数:

Algorithm

算法题
话说这是Leetcode排名第一的算法题

1
2
3
4
5
6
7
8
9
10
给定一个整数数组 nums 和一个目标值 target,
请你在该数组中找出和为目标值的那**两个**整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:
给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

最先想到的就是暴力破解,双重for循环遍历

阅读全文 »

Linux常用命令之 - fdisk

发表于 2019-09-18 | 分类于 Linux | | 阅读次数:

fdisk - Partition table manipulator for Linux

中文的意思是磁盘分区表操作工具,用于创建和维护磁盘分区。

在linux里最多只能建立四个主分区,所以通常至少建一个扩展分区,编号1-4为主分区的编号,逻辑分区的编号从5开始。如果只有一个主分区1,则[2,3,4]号空缺,逻辑分区编号依然是直接从5号开始。

阅读全文 »

你不知道的Java-之String-StringBuffer-StringBuilder

发表于 2018-03-27 | 分类于 Java源码 | | 阅读次数:

简介

StringBuffer,由名字可以看出,是一个String的缓冲区,也就是说一个类似于String的字符串缓冲区,和String不同的是,它可以被修改,而且是线程安全的。StringBuffer在任意时刻都有一个特定的字符串序列,不过这个序列和它的长度可以通过一些函数调用进行修改。

阅读全文 »

你不知道的Java - 之Integer类

发表于 2018-03-26 | 分类于 Java源码 | | 阅读次数:

Java用了这么久,今天突然发现一个很有意思的事:

为什么在Java中1000 == 1000为false,而100 == 100为true?

这是一个挺有意思的讨论话题。
如果你运行下面的代码

1
2
3
4
Integer a = 1000, b = 1000;
Integer c = 100, d = 100;
System.out.println(a == b);
System.out.println(c == d);

你会得到:
false
true

阅读全文 »

InfluxDB数据库管理

发表于 2017-06-17 | 分类于 数据库 | | 阅读次数:

基于InfluxDB 1.2版本

数据管理

创建数据库

1
CREATE DATABASE <database_name> [WITH [DURATION <duration>] [REPLICATION <n>] [SHARD DURATION <duration>] [NAME <retention-policy-name>]]

语法解析

和其他数据库一样,使用CREATE DATABASE去创建一个数据库。
database_name是数据库名称。
创建数据库时可以为该数据库创建数据保留策略,WITH, DURATION, REPLICATION, SHARD DURATION, 和 NAME是用来创建新的策略,如果没有指定创建数据保留策略,则会使用默认策略,InfluxDB默认会为每一个数据库创建一个名为autogen的数据保留策略。

阅读全文 »

InfluxDB的关键特性

发表于 2017-06-09 | 分类于 数据库 | | 阅读次数:

Retention Policies

Retention Policies - 数据保留策略是用来定义数据的存放时长,或者是保留某一时间段的数据。每个数据库可以有多个数据保留策略,但只能有一个默认策略。

InfluxDB本身是不支持对数据的删除操作,时序数据通常对历史数据的保留时间间隔是有规定的,例如一个线上时序数据业务,可能只需要保留最近1周的数据。为了方便使用,时序数据库必须有数据自动rotate的能力。定义数据保留策略是要让InfluxDB知道在什么时候可以丢弃那些数据,从而达到简单高效的处理数据。

阅读全文 »

InfluxDB的基本概念

发表于 2017-06-09 | 分类于 数据库 | | 阅读次数:

InfluxDB的基本概念

InfluxDB是Go语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等数据。

DATABASE

Database - 是数据库最基本的概念,InfluXDB作为时序数据库也不例外。

MEASUREMENT

Measurement - 数据表,在InfluxDB中的作用类似传统数据库的table。

阅读全文 »

时序数据库

发表于 2017-06-08 | 分类于 数据库 | | 阅读次数:

2017年时序数据库忽然火了起来。开年2月Facebook开源了beringei时序数据库;到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月,百度云在其天工物联网平台上发布了国内首个多租户的分布式时序数据库产品TSDB,成为支持其发展制造,交通,能源,智慧城市等产业领域的核心产品,同时也成为百度战略发展产业物联网的标志性事件。时序数据库作为物联网方向一个非常重要的服务,业界的频频发声,正说明各家企业已经迫不及待的拥抱物联网时代的到来。

阅读全文 »
1…456
xiaolong

xiaolong

51 日志
18 分类
62 标签
RSS
GitHub Twitter weibo LinkedIn
© 2017 — 2021 xiaolong
since 2017