zoukankan      html  css  js  c++  java
  • 【perl】打开多个文件——文件句柄的使用

    经常要讲一个文件分割成许多小文件,如果每次判断后要进行“打开文件句柄—》写入数据—》关闭文件句柄”,这样重复的打开、关闭文件句柄是很耗时间的。

    进程经常会处于“S”睡眠状态。

    如果同时打开多个文件,再判断要写入哪个文件,则可以节省CPU等待的时间。

    for my $i (0..99)

    {

      $o="OUT".$i;

      open $o,">test.$i" or die $!;

      print $o "test";

      close $o;

    }

    linux允许同时打开文件数量:

    /proc/sys/fs/file-max

    附:

    如何修改linux内核默认文件描述符最大同时打开数量?

    源代码文件已经找到
    file-max <kernel-path>;/fs/file.c
    inode-nr <kernel-path>;/fs/innode.c

    如果系统不是精简的内核可以用:以下方法修改
    ulimit -n  <可以同时打开的文件数>;  设置用户可以同时打开的最大文件数(max open files)

         # echo "65536"  >; /proc/sys/fs/file-max  # 适用于 2.2 和 2.4 版内核
         # echo "131072" >; /proc/sys/fs/inode-max # 仅适用于 2.2 版内核
    或将下列内容放入 /etc/sysctl.conf,做永久性的更改:
  • 相关阅读:
    AD预测论文研读系列2
    hdu 5795
    sg函数的应用
    二分查找
    快速幂
    筛选法素数打表
    多校hdu-5775 Bubble sort(线段树)
    多校hdu5754(博弈)
    多校hdu5738 寻找
    多校hdu5726 线段树+预处理
  • 原文地址:https://www.cnblogs.com/xianghang123/p/2355408.html
Copyright © 2011-2022 走看看