linux
王健
无言
展开
-
程序性能优化之分支预测
程序是由多条指令构成的,程序的运行便是cpu一条一条执行程序指令的过程。一条指令的执行过程大致可以分为加载指令,翻译指令,加载数据,执行运算,更新数据几个阶段,每个阶段都由单独的运算单元去执行。为了提高性能,各阶段是并行执行的,即当前指令的流程到了执行运算阶段,下一条指令的流程有可能已经到了加载数据阶段。这样做至少有两个优点:单元复用和并行执行。即使同一个阶段,多条指令流程也是可以并行执行的,如执行运算阶段,加法运算和乘法运算时可以同时执行的。下图是一张现代cpu运算单元的简单模型(摘自《深入理解计算机系统原创 2020-11-08 23:14:38 · 718 阅读 · 0 评论 -
vim编辑文档误用Ctrl+S导致vim假死
在linux使用vim编辑源码之后,顺手使用了ctrl+s,本以为会保存源码,但不料vim却卡住了,怎么动都动不了。经过查询,才发现ctrl+s在bash中是锁屏命令。使用ctrl+q即可解锁。原创 2017-03-01 15:10:32 · 4842 阅读 · 0 评论 -
linux不指定LD_LIBRARY_PATH运行程序
在windows中,只要将动态库DLL跟可执行程序放在同一个目录,程序在运行时,就能找到DLL。然而,在linux中,必须指定动态库的路径,程序才能找到动态库,即使可执行程序和动态库在同一个目录。举个例子,编写一个计算库,支持加减乘除,代码如下:calc.h////calc.h//#ifndef __CALC__#define __CALC__#if defined(__cpl原创 2017-03-09 18:18:34 · 1073 阅读 · 0 评论 -
ubuntu下查找安装包及安装路径
dpkg --list | grep mysql 列出所有的mysql安装包,如下:dpkg -L libmysqlclient-dev,查找libmysqlclient-dev的所有安装文件,如下:原创 2017-03-13 20:23:23 · 21794 阅读 · 3 评论 -
zookeeper分布式部署
在部署zookeeper之前,先准备3台服务器(服务器已安装配置jdk):node0:192.168.1.161(ubuntu16.04)node1:192.168.1.183(ubuntu16.04)node2:192.168.1.130(ubuntu16.04)然后下载zookeeper(我使用的是zookeeper-3.4.9)。部署开始:1)创建/opt/apache目原创 2017-04-05 18:25:28 · 393 阅读 · 0 评论 -
svn主干删除build.sh重新提交报错“处于冲突状态;请在新增之前标记冲突为已经解决”
在调试编译脚本过程中,由于一开始忘记修改脚本权限,build.sh无法执行。在为build.sh增加执行权限后,准备重新提交build.sh。因此通过windows的svn工具(有界面,操作方便)删除了build.sh。但在linux下执行svn add build.sh添加文件时,却出现错误: svn: E155015: 条目“/home/tce/app/cod/00-code原创 2017-10-17 19:03:50 · 3751 阅读 · 0 评论 -
Kafka集群配置使用主机名,windows无法访问
因工作需要,在Linux集群下搭建了zookeeper集群和kafka集群。zookeeper集群和kafka集群中的所有配置均使用的真实ip地址。但由于服务节点使用的是动态IP,IP地址经常发生变化,每次发生变化,都需要将集群中的配置修改以便,特别麻烦。后来,采用主机名代替了IP地址,这样,地址发生变化时,只修改/etc/hosts就可了。但问题又来了,linux访问kafka没有问题,windo原创 2017-10-19 20:01:28 · 4160 阅读 · 11 评论 -
makefile入门
Makefile入门1. gcc常用编译命令 gcc最简单的编译命令就是gcc *.c,编译当前目录下的所有源文件。现在,假设目录say下面存在三个文件say.h(定义模块函数),say.c(实现模块函数),say_usr.c(调用模块函数),那么直接在目录say中执行下面的命令,便可以完成编译: gcc *.c 编译生成的二进制文件为a.out(默认原创 2017-10-31 19:09:13 · 415 阅读 · 0 评论 -
ffmpeg解码花屏问题
最近在做一个视频分析相关的产品,基本架构就是使用ffmpeg取流,cuda解码,然后调用算法进行分析,生成图片。但产品做完之后,发现生成的图片存在花屏问题。起初没有太在意,因为rtsp视频流底层使用的是udp协议,丢个一两帧数据,造成花屏是件再正常不过的事情(但忽略了这是在局域网内)。况且,已经将将解码和取流分开,做了一级缓冲,再优化的空间实在不是很大,再加上时间紧,实在抽不出时间来解决该问题。...原创 2019-08-12 20:27:41 · 17531 阅读 · 6 评论