自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 cmake简明教程-半小时从入门到精通

参考文献:入门首先:http://www.hahack.com/codes/cmake/#官方教程:https://cmake.org/cmake-tutorial/官方教程译文:https://juejin.im/post/5a72775d6fb9a01cac187e96简单操作语法:https://learnxinyminutes.com/docs/cmake/官方cmake、ctest、cp...

2018-06-10 11:44:08 12381

原创 git简明教程-半小时从入门到精通

Doc下载:https://download.csdn.net/download/qccz123456/10567652参考文献:https://www.yiibai.com/git/https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000Linux安装git:sudo a...

2018-05-09 09:56:00 756

原创 vim简明教程--半小时从入门到精通

https://download.csdn.net/download/qccz123456/10567716vim三种模式:命令模式、插入模式、底行模式。使用ESC、i、:切换模式。vim [路径/]目标文件名:若存在则打开,不存在则新建并打开。基本步骤:1. vim hello.c    2. 键入i    3. 编辑    4. 键入[ESC]    5. 键入:wq保存退出...

2016-09-27 09:43:50 2321 4

原创 pyinstaller 打包python程序成可执行文件

pyinstallergithub: https://github.com/pyinstaller/pyinstallerinstall:(1) download *.tar.gz https://github.com/pyinstaller/pyinstaller/releases(2) tar -zxvf *.tar.gz(3) cd pyinstaller; python se...

2019-07-12 15:45:48 51

原创 C++设计模式

C++设计模式什么是设计模式“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。——Christopher Alexander好的面向对象设计是面对变化,提高软件的复用性。先寻找变化点,然后在变化点上应用设计模式,而不是任何时间任何地方都用。先写代码,而后采用设计模式进行重构。如何解决复杂性?分解...

2019-07-11 17:42:53 29

原创 Linux性能优化从入门到实战:09 内存篇:Buffer和Cache

  Buffer 是缓冲区,而 Cache 是缓存,两者都是数据在内存中的临时存储。  避免跟文中的“缓存”一词混淆,而文中的“缓存”,则通指内存中的临时存储。free$ man free buffers Memory used by kernel buffers (Buffers in /proc/meminfo) cache M...

2019-07-10 19:26:28 114 1

原创 Docker 背后的内核知识——cgroups 资源限制

Docker 背后的内核知识——cgroups 资源限制上一篇中,我们了解了 Docker 背后使用的资源隔离技术 namespace,通过系统调用构建一个相对隔离的 shell 环境,也可以称之为一个简单的“容器”。本文我们则要开始讲解另一个强大的内核工具——cgroups。他不仅可以限制被 namespace 隔离起来的资源,还可以为资源设置权重、计算使用量、操控进程启停等等。在介绍完基本...

2019-06-04 14:37:14 159

原创 Docker 背后的内核知识——Namespace 资源隔离

Docker 背后的内核知识——Namespace 资源隔离Docker 这么火,喜欢技术的朋友可能也会想,如果要自己实现一个资源隔离的容器,应该从哪些方面下手呢?也许你第一反应可能就是 chroot 命令,这条命令给用户最直观的感觉就是使用后根目录 / 的挂载点切换了,即文件系统被隔离了。然后,为了在分布式的环境下进行通信和定位,容器必然需要一个独立的 IP、端口、路由等等,自然就想到了网络...

2019-06-04 14:35:34 162

原创 数据压缩算法—LZ77 vs LZ78

整数压缩编码 ZigZagHuffman编码的建树优化方法:https://www.cnblogs.com/en-heng/p/4980055.htmlLZ77 vs LZ78  LZ77算法是采用字典做数据压缩的算法,由以色列的两位大神Jacob Ziv与Abraham Lempel在1977年发表的论文《A Universal Algorithm for Sequential Data ...

2019-05-30 15:15:52 691

原创 两将军问题:LoRaWAN

TCP三次握手协议,为了确定port和确认连接等。HOST A send: AA mac-addr seq(x) size command-byte data-string CRC A5    HOST B recv: AA mac-addr seq(x) size command-byte data-string CRC A5HOST B send: AA mac-addr ack(x...

2019-05-21 19:08:28 353

原创 XaaS介绍

  在云计算中,有各种X作为服务X as a service,以下整理和总结了相关的service,再提及这些服务之前,我, 需要明确serverless无服务器化,指的是开发者、使用者或者用户不需要管理硬件服务器的概念,这些工作都由CSP云服务厂商为了管理,节省了运维成本。  在维基百科中介绍了相关的云计算概念:https://en.wikipedia.org/wiki/Cloud_compu...

2019-05-20 09:18:55 535

原创 swarm、mesos、kubernetes 容器集群管理平台(orchestration编排工具)

先说结论:1)对于大数据类应用(spark、hadoop)等固定领域的大规模应用,用mesos。2)其他应用都优先考虑kubernetes。3)swarm不考虑。MesosMesos集群资源调度平台,自身只是一个资源抽象平台,需要结合其上具体的分布式应用,才能实现具体的功能,需要大量的二次开发工作,但是mesos在固定领域中性能是最优的,集群节点可达上万台。Mesos 目前支持的应用框...

2019-04-27 16:47:56 121

原创 Docker Compose 定义和运行多个Docker容器的工具

参考: https://docs.docker.com/compose/overview/1. Compose介绍Docker Compose是一个用来定义和运行多个docker容器的工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容...

2019-04-27 15:07:59 616

原创 Docker Machine 帮助用户在本地或云环境中快速创建和维护Docker主机或主机集群

官网:https://docs.docker.com/machine/overview/  Docker Machine,是使用Docker容器的第一步,意思就是说可以帮助用户在本地或云环境中快速创建Docker主机或主机集群,还可以用于维护集群。  其中机器要么在本地,要么就在远程,而远程的机器,有分为云服务产商CSP提供的机器,或者非CSP提供的机器,针对这三种情况,就具有了以下三种配置参...

2019-04-27 12:07:03 58

原创 如何进入、退出docker的container

3 启动docker某个image(镜像)的container(容器)Docker的镜像称为image,容器称为container。对于Docker来说,image是静态的,类似于操作系统快照,而container则是动态的,是image的运行实例。比如,有一个image名称为ubuntu,那么比如现在我们启动这个image的container并且进入到这个container的bash命...

2019-04-23 16:35:35 580

原创 Lucene全文检索引擎工具包

Lucene是apache下的一个开源的全文检索引擎工具包。它为软件开发人员提供一个简单易用的工具包(类库),以方便的在目标系统中实现全文检索的功能。Lucene WiKi:https://zh.wikipedia.org/wiki/Lucene了解资料:https://www.jianshu.com/p/4b1a88d1c1d0https://blog.csdn.net/lfdns/ar...

2019-04-18 14:28:01 89

原创 System Monitor

(1)Redis管理及监控工具:treeNMS官网:https://www.cnblogs.com/treesoft/p/7076085.html安装手册:https://blog.csdn.net/zhangbaoss/article/details/79984270apache-tomcat-7.0.93.zip,jdk-8u201-linux-x64.tar.gz,treeNMS-1....

2019-04-16 09:43:17 424

原创 shell,exec,source执行脚本的区别

在UNIX/Linux中,经常需要写脚本执行自动化工作。执行脚本有多种方式,可以通过sh,source或者exec。这些方式有一些区别,需要根据需求选择合适的方式。sh方式使用$ sh script.sh执行脚本时,当前shell是父进程,生成一个子shell进程,在子shell中执行脚本。脚本执行完毕,退出子shell,回到当前shell。$ ./script.sh与$ sh scrip...

2019-04-02 22:35:06 523

原创 LevelDB之整体结构

数据库和存储引擎。数据库往往是一个比较丰富完整的系统, 提供了SQL查询语言,事务和水平扩展等支持。然而存储引擎则是小而精, 纯粹专注于单机的读/写/存储。一般来说, 数据库底层往往会使用某种存储引擎。目前开源的KV存储引擎中,RocksDB是流行的一个,MongoDB和MySQL底层可以切换成RocksDB, TiDB底层直接使用了RocksDB。大多数分布式数据库的底层不约而同的都选择了Ro...

2019-03-27 14:35:08 152

原创 FaaS之AWS Lambda

先mark,之后在整理https://aws.amazon.com/cn/blogs/china/iaas-faas-serverless/https://aws.amazon.com/cn/lambda/https://www.amazonaws.cn/lambda/https://github.com/aws?utf8=✓&q=lambda&type=&lang...

2019-03-22 09:00:01 223

原创 RTMP、RTSP(RTP、RTCP)、HLS介绍和协议

互联网上常用的两种主要的分发方式:RTMP、HLS。UDP:譬如YY的实时应用,视频会议等等,或者RTSP之类。这类应用的特点就是实时性要求特别高,以毫秒计算。TCP家族协议根本就满足不了要求,所以HTTP/TCP都不靠谱。这类应用没有通用的方案,必须自己实现分发(服务端)和播放(客户端)。P2P:譬如RTMFP或者各家自己的协议。这类应用的特点是节省带宽。目前PC/flash上的RTMFP比...

2019-02-24 21:51:01 450

原创 nginx+rtmp搭建直播和点播服务器

nginx地址:https://github.com/nginx/nginxnginx插件nginx-rtmp-module地址:https://github.com/arut/nginx-rtmp-module依赖:sudo apt-get updatesudo apt-get install libpcre3 libpcre3-devsudo apt-get install op...

2019-02-24 17:11:39 388

原创 CentOS 7 升级 kernel,给kernel打patch

CentOS 7 中安装或升级最新的内核:https://linux.cn/article-8310-1.htmlELRepo,an RPM repository for Enterprise Linux packages:http://www.elrepo.orgLinux下patch打补丁命令patch [ -b [ -B Prefix ] ] [ -f ] [ -l ] [ -N ...

2019-02-18 15:59:32 993

原创 个人博客建站

建站步骤:(1)购买云服务器,我选择国外的VPS:vultr、搬瓦工(2)安装linux操作系统:centos 7.1+(3)ssh登入后,通过宝塔面板,安装LNMP、WordPress等(包括了ftp、web等)(4)godaddy购买域名,解析到ip地址小技巧:(1)印象笔记Evernote同步到WordPress或CSDN:http://www.biliyu.com/evern...

2019-01-28 16:09:48 1027

原创 linux常用指令

(1)设置环境变量:  export PATH=$PATH:/usr/local/mysql/bin(2)grep 查找文本  grep -nr “hahaha” ./(3)find 查文件  find ./ -name “ssss.txt”(4)查看硬件情况  查看CPU各种信息: cat /proc/cpuinfo  查看CPU的型号: cat /proc/...

2019-01-23 10:36:09 50

原创 基于OpenCV的三维重建python实现

 第一部分:简要概述立体三维重建所需的步骤https://ai.yanxishe.com/page/TextTranslation/1412第二部分:相机校正https://ai.yanxishe.com/page/TextTranslation/1413第三部分:3D重建https://ai.yanxishe.com/page/TextTranslation/1414github ...

2019-01-22 13:19:48 8296 2

原创 intel RDT (Resource Director Technology) 管理LLC和内存带宽

问题:  在虚拟化环境中,宿主机的资源(包括CPU cache和内存带宽)都是共享的。但是如果有一个消耗cache的应用快速消耗了L3缓存,或者一个应用消耗了系统大量内存带宽,那么如何保证其他虚拟机应用呢?如何限制这些“可恶”的邻居Noisy Neighbors呢?  针对上诉问题,以前都是通过控制虚拟机逻辑资源来实现,但是调整的粒度实在太粗,针对处理器缓存这样敏感而稀缺的资源,几乎是无能为力...

2019-01-04 09:54:35 869

原创 Linux命令——lscpu

  每个能够同时多线程处理的物理内核的线程作为独立的处理单元呈现给操作系统。 因此,具有两个执行线程的物理核心被操作系统视为两个(逻辑)核心。  each thread of execution of a physical core capable of simultaneous multithreading is presented to the operational system as a...

2019-01-04 09:21:55 613

原创 Linux性能优化从入门到实战:08 内存篇:内存基础

内存主要用来存储系统和应用程序的指令、数据、缓存等。内存映射  物理内存也称为主存,动态随机访问内存(DRAM)。只有内核才可以直接访问物理内存。  Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。这样,进程就可以很方便地访问内存,更确切地说是访问虚拟内存。虚拟地址空间的内部又被分为内核空间和用户空间两部分。    进程在用户态时,只能访问用户空间内存...

2019-01-03 21:25:40 204

原创 Linux性能优化从入门到实战:07 CPU篇:CPU性能优化

性能优化方法论  动手优化性能之前,需要明确以下三个问题:  (1)如何评估性能优化的效果? 确定性能的量化指标、测试优化前的性能指标、测试优化后的性能指标。  量化指标的选择。至少要从应用程序和系统资源这两个维度,分别选择不同的指标:1)应用程序的维度,我们可以用吞吐量和请求延迟来评估应用程序的性能。2)系统资源的维度,我们可以用 CPU 使用率来评估系统的 CPU 使用情况。  行性能...

2018-12-31 13:01:11 623

原创 Linux性能优化从入门到实战:06 CPU篇:快速定位CPU瓶颈

CPU性能指标    (1)CPU使用率:1) 用户态CPU使用率(包括用户态 user 和低优先级用户态 nice)、2) 系统CPU使用率、3) 等待 I/O 的CPU使用率、4) 软中断和硬中断的CPU使用率、5) 虚拟机占用的CPU使用率。  (2)平均负载 Load Average:过去 1 分钟、过去 5 分钟和过去 15 分钟的平均负载  (3)进程上下文切换:1) 无法获取...

2018-12-31 12:05:23 292

原创 实战 Intel DAAL ( Data Analytics Acceleration Library )

  即将更新

2018-12-28 23:39:36 551

原创 实战 Intel IPP ( Integrated Performance Primitives)

  即将更新

2018-12-28 23:37:56 1249

原创 实战Intel MPI 和 OpenMP

  我即将更新

2018-12-28 23:34:46 1060

原创 实战Intel TBB (Threading Building Blocks)

  我即将更新

2018-12-28 23:32:23 503

原创 实战Intel MKL(Math Kernel Library)

MKL 教程安装在intel官网注册并下载mkl:https://software.intel.com/en-us/mklLinux下安装:wget http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14895/l_mkl_2019.1.144.tgztar -zxvf l_mkl_2019.1.144.tgz...

2018-12-25 13:24:57 7617 2

原创 Linux性能优化从入门到实战:05 CPU篇:硬中断、软中断

  软中断(softirq)会导致CPU 使用率升高  中断是系统用来响应硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来响应设备的请求。中断其实是一种异步的事件处理机制,可以提高系统的并发处理能力。由于中断处理程序会打断其他进程的运行,所以,为了减少对正常进程运行调度的影响,中断处理程序就需要尽可能快地运行。并且当CPU执行在中断处理函数中时,不会响应同时发...

2018-12-24 23:04:08 1069

原创 Linux性能优化从入门到实战:04 CPU篇:CPU使用率

  CPU使用率是单位时间内CPU使用情况的统计,以百分比方式展示,top、ps、pidstat命令。$ toptop - 11:46:45 up 7 days, 11:52, 1 user, load average: 0.00, 0.01, 0.00Tasks: 198 total, 1 running, 197 sleeping, 0 stopped, 0 zombie...

2018-12-23 12:17:49 214

原创 Linux性能优化从入门到实战:03 CPU篇:CPU上下文切换

  linux操作系统是将CPU轮流分配给任务,分时执行的。而每次执行任务时,CPU需要知道CPU寄存器(CPU内置的内存)和程序计数器PC(CPU正在执行指令和下一条指令的位置)值,这些值是CPU执行任务所依赖的环境,也就是CPU上下文。  CPU上下文切换,就是把前一个任务的CPU上下文(CPU寄存器和程序计数器)保存起来,然后加载入新任务的上下文到CPU寄存器和程序计数器中,最后跳转到程序...

2018-12-16 13:01:07 190

原创 Linux性能优化从入门到实战:02 CPU篇:平均负载

每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或 uptime 命令:eagle@eagle:~$ uptime22:22:17 up 2 days, 20:14, 1 user, load average: 0.63, 0.83, 0.8822:22:17 // 当前时间up 2 days, 20:14 // 系统运行时间1 user // 正在登录用户数load a...

2018-12-15 22:41:23 197

提示
确定要删除当前文章?
取消 删除