随笔分类 -  操作系统

摘要:进程调度优先级中PR 和NI的含义,用TOP可以看到 PR 进程的优先级。在Linux 2.6.23之前的版本中PR是一个动态值,在运行的过程中可能出现变化。大体策略是:如果一个进程sleep了比较多的时间,PR值会降低(即优先级提高);如果一个进程占用了大量的CPU时间,PR值会升高(即优先级降低 阅读全文
posted @ 2014-01-20 18:56 黑暗遊侠 阅读(427) 评论(0) 推荐(0)
摘要:可能大家已经很熟悉使用strace来跟踪系统调用,今天介绍一个跟踪库函数的利器ltrace 比如我有这么一段PHP代码 test.php <?php $y = '1380'; $arr = array(); for($i = 0; $i < 2000; $i ++){ $arr[] = "{$i}" 阅读全文
posted @ 2013-09-06 15:42 黑暗遊侠 阅读(304) 评论(0) 推荐(0)
摘要:所有的内核都是可重入的.但可重入内核不只是包含可重入函数.也可以包含不可重入函数,这时候信号量,自旋锁之类的同步机制就派上用场了. 阅读全文
posted @ 2013-04-12 16:04 黑暗遊侠 阅读(120) 评论(0) 推荐(0)
摘要:以前在看linux操作系统时始终理解不了单CPU自旋锁导致死锁的问题.今天在网上搜了一下总算是理解了.摘录如下 想象你的内核代码请求到一个自旋锁并且在它的临界区里做它的事情,在中间某处,你的代码失去了处理器。或许它已调用了一个函数(copy_from_user,假设)使进程进入睡眠。也或许,内核抢占 阅读全文
posted @ 2013-04-12 14:21 黑暗遊侠 阅读(1927) 评论(0) 推荐(0)
摘要:在linux中iostat -d查看磁盘状态时,有的会有如下dm-0,dm-1的条目. Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 0.19 0.57 2.92 341228 1753052 dm-0 0.27 0.56 2.88 3346 阅读全文
posted @ 2013-04-10 15:00 黑暗遊侠 阅读(6542) 评论(0) 推荐(0)
摘要:有几种方法,但效果各不相同。 1.修改/etc/security/limits.conf 添加如下两行 * soft nofile 65536 * hard nofile 65536 这种方法仅对当前配置有限,重启系统后就失效了。 2.在/etc/rc.local中添加 ulimit -SHn 65 阅读全文
posted @ 2013-03-31 17:02 黑暗遊侠 阅读(454) 评论(0) 推荐(0)
摘要:linux TOP按f键可以出来显示条目选项.按p可以调出SWAP列. SWAP列相对于进程来说其实就是保存在该进程对应的文件中(而非保留在SWAP分区中).大小等于VIRT-RES的大小. VIRT为进程申请的虚拟内存大小(但不会全用),如MYSQL为了以后的运行可能申请1G的虚拟内存,但只会将最 阅读全文
posted @ 2013-03-28 17:40 黑暗遊侠 阅读(369) 评论(0) 推荐(0)
摘要:看书看到内存对齐一段时,突然想研究一下内存对齐最底层的原理.查找资料后总结如下. 先用一句话来概括: “数据项只能存储在地址是数据项大小的整数倍的内存位置上” 例如int是4个字节,则只能在地址是0,4,8等位置上(即最后字节可以整除4). 不同的系统有不同的对齐系数(一般32位系统是4字节(正好是 阅读全文
posted @ 2013-03-28 14:27 黑暗遊侠 阅读(136) 评论(0) 推荐(0)
摘要:传统的CPU会利用分支预测来保持指令执行序列的流水线(即执行当前指令的同时取下一条指令). 但如果预测失败则代价太大. 新一代的CPU采用了条件传送指令.该方法预先计算出所有分支的结果以保持流水线指令序列.最后用一句cmovl(根据条件判断选择执行或跳过,一条指令内完成)指令来结束 阅读全文
posted @ 2012-11-05 12:04 黑暗遊侠 阅读(164) 评论(0) 推荐(0)
摘要:IPC代表一个时钟周期内指令的执行条数.主频代表单位时间内的时钟周期数. 所以两者共同决定了CPU的效率.即主频*IPC,单位时间内指令执行数. 阅读全文
posted @ 2012-11-05 12:04 黑暗遊侠 阅读(214) 评论(0) 推荐(0)