今天老是遇到错误是too many open files 在网上找了半天终于有所收获,有如下解决方法:
1、ulimit -n 8196 加大linux最大打开文件数,不过这个试过好像不太管用.
2、echo "10240" >/proc/sys/fs/file-max (ubuntu 2.6.15的 这句可以用来修改)
第二种方法好像更管用。先试试看。。真不想重新编译linux内核
下面这个是晚上瞎转在网上看到的
以下适合redhat linux 2.4 刚试了,同样适合 2.6内核
Linux 内核有时会报告“Too many open files”,起因是 file-max 默认值(8096)太小。要解决这个问题,可以 root 身份执行下列命令:(或将它们加入/etc/rcS.d/*下的 init 脚本。)
# echo "65536" > /proc/sys/fs/file-max # 适用于 2.2 和 2.4 版内核
# echo "131072" > /proc/sys/fs/inode-max # 仅适用于 2.2 版内核
或将下列内容放入 /etc/sysctl.conf,做永久性的更改:
fs.file-max = 65536 # 适用于 2.2 和 2.4 版内核
fs.inode-max = 131072 # 仅适用于 2.2 版内核
STB make 后 加快调试方法 只编译一部分代码,将其库在挂载到机顶盒上
步骤:
1.make –C release //拷贝库的过程
2.make -C swapp copy //拷贝执行程序
或者 对于我今天的工作,只需要编译 src/swlogo/目录就可以咯
为了显示进度条,需要首先给swlogo.c 下void sw_logo_parse_property_from_para(...),传递开机进度条显示标志startup_progress(代码中是if条件判断,去掉if) ,而函数的设置和调用是在swboot/swboot.c中,当在调用进度条显示前应该先取一次初始值(代码中没有取初始值),最后,我出来的进度条位置坐标不起作用的原因在于之前通过STBmonitor设置了一次startup_progress的参数,以至于每次程序都取自身的默认参数,再通过STBmonitor将其参数删除,设置的参数终于生效。至此,搞了两天的显示终于有点小成就,虽然代码还没有完全看明白,但是也算是进步咯:),只要一直坚持,就一定能行。