« | July 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | |
| 公告 |
|
Blog信息 |
blog名称:FoxWolf 日志总数:127 评论数量:246 留言数量:0 访问次数:849720 建立时间:2006年5月31日 |

| |
[Linux学习]一个进程能够打开最大文件句柄数的设置 文章收藏, 软件技术, 科学研究
FoxWolf 发表于 2008/7/15 15:48:55 |
在Linux下,我们使用ulimit -n命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。
对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象 squid、mysql、java等单进程处理大量请求的应用来说就有点捉襟见肘了。如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到 “too many files open”的错误提示。如何知道当前进程打开了多少个文件句柄呢?下面一段小脚本可以帮你查看:lsof -n |awk '{print }'|sort|uniq |
|
[Linux学习]linux shell编程 trap命令 文章收藏, 电脑与网络, 校园生活
FoxWolf 发表于 2008/7/2 11:31:01 |
trap命令用于指定在接收到信号后将要采取的行 动,我们将在本书后面的内容中详细介绍信号。trap命令的一种常见用途是在脚本程序被中断时完成清理工作。历史上,shell总是用数字来代表信号,而 新的脚本程序应该使用信号的名字,它们保存在用#include命令包含进来的signal.h头文件中,在使用信号名时需要省略SIG前缀。你可以在命 令提示符下输入命令trap -l来查看信号编号及其关联的名称。
| |
[Linux学习]tzset()与localtime() 文章收藏, 软件技术, 电脑与网络
FoxWolf 发表于 2008/6/13 10:59:48 |
一直以来应用Linux也就是随便的写点程序,构建一下服务器,很少关注一个基本的设置——时区。我相信大部分的爱好者们都是如此的,我们生活在一个地方,一个国家,一个地区,至少不会频繁改变。so...我们的机器时间设置是很少变化的,再加上现在很多情况下都有UTP——时间网络同步协议了,更不要说去改变时区。 然而对于一个应用Linux作为平台的产品而言,它却是可能会被改变时区的,即便机会不多,但对于设计人员、工程师、项目经理而言,这一部分不容忽视。于是,在第二次遇到这个问题的时候,我选择将它彻底弄清楚,所以有了这样一篇记录。问题的描述是这样的:我们可以使用time调用获取当前的时间,注意,这是以UTC表示的机器时间——自1970年1月1日0点以来的秒数,接着我们用localtime调用可以将time获取的时间转换为本地时间,从UTC转换到本地时间会依靠时区信息进行调整。对于一个daemon进程而言,如果每隔一段时间用time和localtime调用就可以定期获取当前时间 |
|
[Linux学习]Linux下内存释放问题相关知识 文章收藏, 软件技术, 电脑与网络
FoxWolf 发表于 2008/4/22 11:52:41 |
Linux下内存释放问题相关知识
2008-04-10 10:55
细心的朋友会注意到,当你在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题.
先来说说free命令
[root@server ~]# free -m total used free shared buffers cached Mem: 249 163 86 0 10 94 -/+ buffers/cache: 58 191 Swap: 511 0 511
其中:
total 内存总数
u |
|
[Linux学习]Linux/proc文件系统操作指南 文章收藏, 电脑与网络
FoxWolf 发表于 2008/4/9 11:48:48 |
1、数字目录或文件
按进程号排序的活动进程 `u-s f,t8|F"~q0例如下面的1ITPUB个人空间 W4W1n yT%Utf`T3e:{ ls
/proc/1 zZ P5twU2}J kO1a0attr auxv
cmdline cwd environ exe fd loginuid maps  |
|
[Linux学习]IO复用,linux poll 文章收藏, 电脑与网络
FoxWolf 发表于 2008/3/12 11:20:30 |
Part1:
五个I/O模型 1.阻塞I/O 2.非阻塞I/O 3.I/O复用(select和poll) 4.信号驱动I/O(SIGIO) 5.异步I/O
阻塞 I/O模型
进程调用recvfrom,此系统调用直到数据报到达且拷贝到应用缓冲区或是出错才返回。最常见的错误是系统调用被信号中断,进程阻塞的整段时间是指从调用recvfrom开始到它返回的这段时间,当进程返回成功指示时,应用进程开始处理数据报。
非阻塞方式
当请求的I/O操作不能完成时,不让进程睡眠,而应返回一个错误。前三次调用recvfrom时仍无数据返回,因此内核立即返回一个错误。第四次调用 recvfrom时,数据报已准备好,被拷贝到应用缓冲区, recvfrom返回成功指示,接着处理数据。此过程称为轮询(polling)。这对CPU时间是极大的浪费。
|
|
[Linux学习]PC上配置编译MiniGUI v1.3.3和运行示例程序全过程 文章收藏, 软件技术, 电脑与网络
FoxWolf 发表于 2007/11/7 15:03:12 |
相比内核的配置与编译,MiniGUI在PC上的配置和编译过程显得非常简单,也或许是因为自己习惯了查bug吧。 这篇文章主要介绍MiniGUI v1.3.3在PC上的配置和编译过程,以及示例程序的编译和运行。 由于很多内容在官方的文档中已经写得很清楚了,所以这里主要是对配置和编译过程中自己碰到的一些问题进行总结。
Hily Jiang Email&Gtalk: hilyjiang at Gmail Blog: http://hily.iyi.cn/
MiniGUI官方网站: http://www.minigui.com/
|
|
|