vim是Linux下常用的编辑器,但是默认是没有补全功能的,所以插件SuperTab就是实现这个功能的。

下载链接:http://www.vim.org/scripts/script.php?script_id=1643

下载.vmb文件即可,下载后可通过rz命令上传(需要安装lrzsz

安装步骤也非常简单 1. 先用vim打开下载的文件,vim supertab.vmb 2. 在命令模式下输入:source %

至此就可以使用SuperTab的功能了,在vim编辑模式时,输入文件中已经有的字符串的前几个字母,再按Tab键即可补全这个字符串,只能补全文件中已经出现的字符串。

SuperTab的github地址:https://github.com/ervandew/supertab

最近将服务器内的数据迁移到移动硬盘上做备份时,发现Centos 6.5识别不了NTFS文件系统的移动硬盘,google了一下才发现原因是Linux内核不支持NTFS。重新编译内核是一种方法,但是也可以采用安装一个软件来解决,本文就是讲述如何安装这个软件以及在Linux挂载NTFS文件系统的移动硬盘。

阅读全文 »

文本文件和二进制文件的定义

  首先,计算机的存储在物理上是二进制的,也就是在物理存储方面没有区别都是01码。所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的,也就是编码上。简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码

阅读全文 »

查看Linux命令的系统调用和库函数的调用可通过下面的命令。

  • strace -c command:判断command命令的系统调用的类型、次数、消耗时间(-f则连同command命令fork出来的子进程一同统计,-e指定列出某一具体的系统调用的参数)
  • ltrace 用法同strace,但是追踪的是命令调用的库函数,strace追踪的是系统调用

下面是CPU缓存的一些概念,所用命令均是在Linux平台下

  • 可通过命令getconf -a| grep CACHE | grep size 查看CPU的各级缓存大小
  • 也可以通过命令lscpu | grep ^L 查看
  • CPU缓存以行(line)单位,主内存以页(page)为单位,磁盘以块(block)为单位
  • CPU缓存一般分为指令缓存(I-Cache)和数据缓存(D-Cache),且两者一般都是分开的
  • 缓存控制器(cache controller)判断CPU要获取的指令和数据是否在CPU缓存中,从一级缓存往下找,直到主内存和磁盘,且从找到的那一级开始往上面所有级缓存,如下图所示:

  • 评判软件优秀与否的一种标准:对cpu缓存的命中率

内核版本与CPU调度算法

早期 Linux 版本中的调度算法非常简单易懂:在每次进程切换时,内核扫描可运行进程的链表,计算进程的优先权,然后选择“最佳”进程来运行。这个算法的主要缺点是选择“最佳”进程所要消耗的时间与可运行的进程数量相关,因此,这个算法的开销太大,在运行数千个进程的高端系统中,要消耗太多的时间。

Linux 2.6 的调度算法就复杂多了。通过设计,该算法较好地解决了与可运行进程数量的比例关系,因为它在固定的时间内(时间复杂度O(1))选中要运行的进程。它也很好地处理了与处理器数量的比例关系,因为每个 CPU 都拥有自己的可运行进程队列。而且,新算法较好地解决了区分交互式进程和批处理进程的问题。因此,在高负载的系统中,用户感到在 Linux2.6 中交互应用的响应速度比早期的 Linux 版本要快。

阅读全文 »
0%