
技术总结
朱乐乐在路上
Smile as always
展开
-
vscode-server离线安装插件
问题描述近期需要离线为远程的开发机安装vscode插件,具体方法如下code --extensions-dir ~/.vscode-server/extensions/ --install-extension ~/eamodio.gitlens-11.6.0.vsix原创 2021-07-21 16:10:06 · 2274 阅读 · 0 评论 -
flamegraph No stack counts found. 问题
flamegraph No stack counts found.问题问题)最近用flamegraph.rs进行采样时遇到栈损坏问题,查找了半天发现是perl版本的问题,执行:sudo apt-get upgrade perl原创 2021-07-14 08:51:03 · 3774 阅读 · 0 评论 -
Ubuntu 下配置 ccache
①安装ccache官网下载或apt安装 sudo apt-get install ccache②$ which ccache查看安装路径, /usr/bin/ccache③$ mkdir ~/.bin④ $ cd ~/.bin/ $ ln -s /usr/bin/ccache gcc $ ln -s /usr/bin/ccache g++ $转载 2014-08-12 11:27:52 · 8323 阅读 · 0 评论 -
Ubuntu 精简编译内核
由于最近工作需要频繁编译内核,我就在原创 2014-08-12 15:15:11 · 1140 阅读 · 0 评论 -
ubuntu在启动时输出内核信息
You'd need to remove the kernel boot parameters quiet and splash from the linux line in GRUB:Start your system and wait for the GRUB menu to show (if you don't see a GRUB menu, press and hold转载 2014-09-03 10:04:00 · 3075 阅读 · 0 评论 -
Getting an Ubuntu 12.04 machine to give you boot messages
The main changes we need to make are to /etc/default/grub, which magically controls the behavior of Grub2. We needed to make two main changes:change GRUB_CMDLINE_LINUX_DEFAULT to delete 'quiet spl转载 2014-09-04 08:51:39 · 549 阅读 · 0 评论 -
CPU SPEC 2006 416.gamess 报错 ABRT
今天新拷贝了CPU SPEC 2006 V1.2我的机器是XEON E5-2670原创 2014-10-23 21:35:48 · 2989 阅读 · 0 评论 -
关于CPU节能模式你应该知道的东西
为了在CPU空闲的时候节约能源,CPU可以接受命令进入low power模式。每个CPU有多个模翻译 2014-11-03 10:42:25 · 6588 阅读 · 0 评论 -
NVMain运行机制深入了解之二
现在通过调试来看看运行过程首先原创 2014-11-25 14:59:06 · 2362 阅读 · 0 评论 -
git 忽略目标文件
最近使用git在push的时候发现有的目标文件太大了。我采用的方法是修改本地仓库的设置,不影响全局设置。vim .git/info/exclude在里面添加了目标文件类型。或者编辑.gitignore文件忽略特定文件类型的文件。这个与.git目录放在同一级就可以。原创 2014-12-08 15:42:01 · 756 阅读 · 0 评论 -
合并快照到Virtulbox vdi文件
VBoxManage clonehd Machine.vdi Machine-full.vdi VBoxManage clonehd Snapshots\{UUID1}.vdi Machine-full.vdi VBoxManage clonehd Snapshots\{UUID2}.vdi Machine-full.vdi VBoxManage clonehd Snaps原创 2014-09-23 15:55:40 · 2988 阅读 · 0 评论 -
简单理解diff与patch命令
对于大型项目而言,如果没有通过svn或者git进行管理,那么最好的版本版本控制工具,j原创 2014-06-29 20:21:07 · 606 阅读 · 0 评论 -
修改sshd_config解决 xshell 链接 linux 错误 connection closed by foreign host
用xshell连接服务器总是报错 connection closed by foreign host,害的我一个程序pao原创 2014-10-24 11:12:48 · 52526 阅读 · 8 评论 -
vim 从底部开始查找关键字
以前都是从头开始找,最近处理原创 2014-10-23 21:48:40 · 48122 阅读 · 0 评论 -
vim中如何快速去除注释# 或者 //字符
在vim中,常常会发现粘贴过来的代码会被自动注释了,比较麻烦,这里记录一个小技巧。1. 在vim中将光标移到最初被注释的那一行,按ctrl + v2. 然后将光标移到注释的结尾部分,按x这样就行啦原创 2013-04-29 11:02:24 · 2970 阅读 · 0 评论 -
ubuntu多版本gcc切换
首先第一个把几个一起更新的放在一起```sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 100 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6``````sudo update-alternatives --install /usr/bin/gcc gcc /usr原创 2017-03-21 16:34:10 · 916 阅读 · 0 评论 -
Linux内核调试之使用BUG_ON 和dump_stack
Asserting Bugs and Dumping InformationA number of kernel routines make it easy to flag bugs, provide assertions, and dump information. Two of the most common are BUG() and BUG_ON(). When called, the翻译 2014-08-19 09:29:51 · 1984 阅读 · 2 评论 -
ubuntu grub启动默认内核
ubuntu启动的时候,默认是会启动自带的内核,如果我们自己变原创 2014-06-18 09:02:58 · 4805 阅读 · 0 评论 -
使用vim 编辑Python代码
" configure expanding of tabs for various file typesau BufRead,BufNewFile *.py set expandtabau BufRead,BufNewFile *.c set noexpandtabau BufRead,BufNewFile *.h set noexpandtabau BufRead,BufNewFile翻译 2014-04-08 21:05:47 · 1191 阅读 · 0 评论 -
elf文件格式与动态链接库
elf文件格式与动态链接库(非常之好)-----不可不看机器执行的是机器指令,而机器指令就是一堆二进制的数字。高级语言编写的程序之所以可以在不同的机器上移植就因为有为不同机器设计的编译器的存在。高级语言的编译器就是把高级语言写的程序转换成某个机器能直接执行的二进制代码。以上的知识在我们学习CS(Computer Science)的初期,老师都会这么对我们讲。但是我就产生疑问了:既然机器都是转载 2012-11-06 09:12:45 · 911 阅读 · 0 评论 -
Bochs镜像文件配置
最近又开始搞这个,从sourceforge上下载了镜像,才发现不知道1. cylinder2. heads3. spt只知道下载的文件大小为528482304B,鼓捣了一阵子,发现其实计算很简单528482304=512*cylinder*heads*spt而通常我发现heads都是16,spt都是63,那么cylinder就可以计算出来了。最后晒一下我的bxr原创 2013-03-14 07:50:35 · 4825 阅读 · 0 评论 -
mmap报错Invalid argument的解决办法
mmap这个函数到处都用到,很多问题都是用perror("mmap")出来的结果是Invalid argument这个问题,我遇到有两种可能导致1. open文件时的用的访问模式如O_RDONLY, O_WRONLY, or O_RDWR和你mmap的模式如 PROT_EXEC Pages may be executed. PROT_READ Pages may be read原创 2013-04-29 15:13:11 · 21434 阅读 · 0 评论 -
getopt让你的程序更易用
前一阵子写了一个生成原始实验数据的程序,为了方便使用,我想到了以前看过的getopt,这次就只贴代码,以后自己找出来看。#include #include #include /*getopt()*///#include #include #include //#define RAND_MAX 2147483647static void usage(char *原创 2013-05-01 21:13:12 · 619 阅读 · 0 评论 -
Hoard内存分配器的学习手记
准备工作发现我膜拜的项目中竟然直接应用了hoard的代码555,所以拿来看看到底哪里厉害!Hoard项目的官方网站在http://www.hoard.org/它自己配了一部分英文简介,很容易看懂。The Hoard memory allocator is a fast, scalable, and memory-efficient memory allocator for Linu原创 2013-05-15 22:01:28 · 2130 阅读 · 0 评论 -
跨平台程序中常见的wrapper library
什么是wrapper? 我在看很多大牛写的程序的时候,发现他们很爱使用wrapper,所以就查来看看。主要还是来自于维基百科。http://en.wikipedia.org/wiki/Wrapper_library简介:In computer programming, a library is a collection of subroutines or classes u翻译 2013-05-17 10:54:04 · 1992 阅读 · 0 评论 -
常见C内存管理程序
本文主要关注的是C内存管理程序,比较著名的几个C内存管理程序,其中包括: l Doug Lea Malloc:Doug Lea Malloc实际上是完整的一组分配程序,其中包括Doug Lea的原始分配程序,GNU libc分配程序和ptmalloc。Doug Lea的分配程序加入了索引,这使得搜索速度更快,并且可以将多个没有被使用的块组合为一个大的块。它还支持缓存,以便更快地再次使用最近转载 2013-05-17 21:10:08 · 1004 阅读 · 0 评论 -
Interface to x86/64's high resolution time counter
有的时候需要精确测量,从阅读别人的代码中学习到一些。可以在内核态调用,精确计算起止时间。#ifndef _HRTIME_H_121AJ1#define _HRTIME_H_121AJ1#ifndef _HRTIME_CPUFREQ# define _HRTIME_CPUFREQ 2500 /* GHz */#endif#define HRTIME_NS2CYCLE(__ns) (原创 2013-05-07 10:22:51 · 647 阅读 · 0 评论 -
两个大牛的研究方向(1)
StatusI completed my PhD in the department of computer science and engineering at University of California, San Diego. I will be joining Google in the fall.ContactDept. of Computer Science &转载 2013-05-13 11:01:37 · 951 阅读 · 0 评论 -
两个大牛的研究方向(2)
About CVResearch StatementI'm a sixth nth year graduate student with the Computer Sciences Department at the University of Wisconsin - Madison. I'm currently pursuing a doctoral degree under the s转载 2013-05-13 11:07:30 · 964 阅读 · 0 评论 -
什么是false sharing
1. cache coherence(cache 一致性)在提到false sharing概念之前,首先还是了解一下cache coherence(cache一致性)cache coherence是指在本地cache中保存的共享数据的一致性。在共享主存多处理器系统中,每一个处理器都有自己的本地cache。那么可能对于同一个数据在几个本地cache中都有拷贝,当其中一个拷贝被修改了,原创 2013-05-16 08:03:09 · 1788 阅读 · 0 评论 -
linux中环境变量LD_PRELOAD是怎样工作的?
A Simple LD_PRELOAD Tutorial有的时候为了研究需要,我们需要重载C的标准库函数,比如printf,fopen等等,这篇文章介绍如何利用LD_PRELOAD这个环境变量实现这个目标。首先由一个简单的C程序开始。(prog.c) #include int main(void) { printf("Calling the fopen() fun翻译 2013-05-31 10:15:44 · 5037 阅读 · 0 评论 -
Configure,Makefile.am, Makefile.in, Makefile文件之...
来源地址:http://my.oschina.net/qihh/blog/66113无论对于一个初学者还是一个资深的Linux程序员,编写Makefile文件都是一件很麻烦的事;再者,开发人员应该把主要的精力放在程序代码的编写上,而在Makefile文件花费太多的精力显然是不明智的;还有,对于不同的处理器架构,往往编译器不同,环境不同,特别是一些嵌入式系统中的各种程序的转载 2013-06-02 21:01:47 · 1994 阅读 · 0 评论 -
8步运用automake开源发布自己的软件
都说自己写Makefile麻烦,而且在不同体系结构下为了移植性写出的Makefile完全没法读懂,所以好像目前大牛都开始用automake产生Makefile了,这里总结一下自己初步学习的经验。首先,我只有一个文件,testtcmalloc.c#include #include #include #include #include #include #define原创 2013-06-03 10:17:16 · 602 阅读 · 0 评论 -
TCMalloc : Thread-Caching Malloc
TCMalloc比glibc 2.3 malloc即ptmalloc快,一个malloc/free操作对使用ptmalloc要300ns,而使用tcmalloc只要50ns这样看来ptmalloc很慢,所以很多应用都倾向于自己管理由自己定制的空闲链表,这通常会消耗更多的内存。除了速度快之外,TCmalloc还有很多优点1. tcmalloc减少了多线程程序的锁竞翻译 2013-06-06 20:32:45 · 1046 阅读 · 0 评论 -
bitmap和byte数组的相互转换
由于需要在BOCHS做扩展,为了方便使用,我还得自己设计按钮。但是看BOCHS的代码发现,bochs是从byte数组创建位图Bitmap的。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Drawing;using System.Dra原创 2012-10-10 16:18:35 · 11602 阅读 · 0 评论