精华内容
下载资源
问答
  • 解决方法: ...使用下面命令查看系统设定的用户限制: ulimit -a 得到类似于下面的输出: $ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f...
    解决方法:

    使用下面命令查看系统设定的用户限制:

    ulimit -a
    

    得到类似于下面的输出:

     
    $ ulimit -a
    core file size        (blocks, -c) 0
    data seg size         (kbytes, -d) unlimited
    file size             (blocks, -f) 2048000
    max locked memory     (kbytes, -l) unlimited
    max memory size       (kbytes, -m) unlimited
    open files                    (-n) 1024
    pipe size          (512 bytes, -p) 8
    stack size            (kbytes, -s) 10240
    cpu time             (seconds, -t) unlimited
    max user processes            (-u) 4089
    virtual memory        (kbytes, -v) unlimited
          
    


    上面的输出指出文件大小限制是2GB。如果你不想受限,编辑/etc/security/limits.conf文件,检查fsize参数的设定。如果这个fsize参数已经设定,你可以删除或者在行受就加上#号注释掉该行。

    完成以上操作之后,重新登录,执行ulimit -a,看看是不是得到类似以下输出:

     
    $ ulimit -a
    core file size        (blocks, -c) 0
    data seg size         (kbytes, -d) unlimited
    file size             (blocks, -f) unlimited
    max locked memory     (kbytes, -l) unlimited
    max memory size       (kbytes, -m) unlimited
    open files                    (-n) 1024
    pipe size          (512 bytes, -p) 8
    stack size            (kbytes, -s) 10240
    cpu time             (seconds, -t) unlimited
    max user processes            (-u) 4089
    virtual memory        (kbytes, -v) unlimited
    
    


    如果不是,你可能需要在/etc/security/limits.conf文件添加如下一行:

    <User Name>        -       fsize       unlimited
    

    你必须重新登录使改变生效。再次执行ulimit -a,确认设定是正确的。

    展开全文
  • 在Android 2.3以前的任何压缩的资源的原始大小超过1M将不能从APK中读出,当assets或是raw目录下单个压缩文件大小超过1024K之后,编译器appt会去强行处理此文件,如果你使用AssetManager 或 Resources classes方法来...

    面试中遇到的问题:Assets目录下的文件大小是否有限制?

    在Android 2.3以前的任何压缩的资源的原始大小超过1M将不能从APK中读出,当assets或是raw目录下单个压缩文件大小超过1024K之后,编译器appt会去强行处理此文件(报出异常:This file can not be opened as a file descriptor; it is probably compressed),如果你使用AssetManager 或 Resources classes方法来获取InputStream,将抛出java.io.IOException的异常如下
    DEBUG/asset(1123): Data exceeds

    要解决这个问题可以将文件扩展名改为mp3或是wma这类的就OK了,参考:
       Android Asset Packaging Tool(aapt)使用这个工具可打包所有数据, Image 、XML文件 、任何资源文件.在生成APK时aapt选择性的压缩各种资源来节省设备空间,aapt使用后缀来决定哪个资源需要压缩,aapt源码定义一些不需要压缩的文件后缀。

    以下是aapt源码Package.cpp片段:
    view plainprint?
       /* these formats are already compressed, or don’t compress well */
       static const char* kNoCompressExt[] = {
      “.jpg”, “.jpeg”, “.png”, “.gif”,
      “.wav”, “.mp2”, “.mp3”, “.ogg”, “.aac”,
      “.mpg”, “.mpeg”, “.mid”, “.midi”, “.smf”, “.jet”,
      “.rtttl”, “.imy”, “.xmf”, “.mp4”, “.m4a”,
      “.m4v”, “.3gp”, “.3gpp”, “.3g2”, “.3gpp2”,
      “.amr”, “.awb”, “.wma”, “.wmv”
      };

      可以看到如果需要打包数据库的,文件过大就需要注意了。
      解决方法如下:
      1.将你的资源文件后缀改成上面列出的后缀。
      2.在命令行上使用-0参数来指定不需要压缩的文件后缀。当你使用Eclipse内的ADT目前还不知道有什么方法可以传递-0参数给aapt。
      3.将你的资源文件分割成UNCOMPRESS_DATA_MAX(1M)以下的文件

    展开全文
  • 最近有碰到一个问题,在使用 Camera 录相的...起初以为是在代码中作了最大录像文件大小限制。 long maxFileSize = mStorageSpace - Storage.LOW_STORAGE_THRESHOLD; Log.e(TAG,"----------initializeRecorder--

    最近有碰到一个问题,在使用 Camera 录相的时候,录像文件大小达到 2G 时,就自动保存了。

    起初以为是在代码中作了最大录像文件大小的限制。

            long maxFileSize = mStorageSpace - Storage.LOW_STORAGE_THRESHOLD;
            Log.e(TAG,"----------initializeRecorder-----------------requestedSizeLimit=" + requestedSizeLimit);
            if (requestedSizeLimit > 0 && requestedSizeLimit < maxFileSize) {
                maxFileSize = requestedSizeLimit;
            }
     
            try {
    	    Log.v(TAG, "maxFileSize "+maxFileSize);
                mMediaRecorder.setMaxFileSize(maxFileSize);
            } catch (RuntimeException exception) {
                // We are going to ignore failure of setMaxFileSize here, as
                // a) The composer selected may simply not support it, or
                // b) The underlying media framework may not handle 64-bit range
                // on the size restriction.
            }
    

    但通过在上述代码中加 log 来看,maxFileSize 为剩余磁盘空间大小(磁盘空间大小足够,远大于2G)。

    后面通过网络查询才知道是 32位 linux 系统有创建单个文件 2G大小 上限限制(众所周知,android 是采用的 linux 内核)。

    在 32 位的 Linux 上面写超过 2GB 的文件会发生错误,甚至导致程度终止执行,

    这是因为 Linux 的系统内部处理档案时用的数据类型为 long,而 long 在32 位的系统上大小为 32 位,因此最大只能支持到 2^31-1 = 2,147,483,647 bytes ,等于是 2GB 扣掉1byte 的文件大小。

    详细内容参见:http://blog.urdada.net/2008/04/18/84/

    关于Linux 各种文件系统的特征如下所示(来自于网络):

    Ext2


    Ext2 文件系统是Linux 特有的文件系统,它拥有传统UNIX 文件系统的许多特性,如块、inode
    和目录等概念。Ext2 非常健壮,具有很多优良的性能。同时,Ext2 也是可扩展的,它提供
    的扩展功能允许用户在不格式化文件系统的情况下使用新的特性。
    ----------------------------------------------------
    最大文件大小: 1TB
    最大文件极限: 仅受文件系统大小限制
    最大分区/文件系统大小: 4TB
    最大文件名长度: 255 字符
    缺省最小/最大块大小: 1024/4096 字节
    缺省inode 分配: 每4096 字节为1
    在强制FS 检查前的最大装载: 20(可配置)
    ----------------------------------------------------


    Ext3


    Ext3 文件系统构筑于ext2 文件系统之上,对标准的Linux ext2 文件系统进行了日志扩展。
    日志特性显著地减少文件系统崩溃后的恢复时间,它被广泛地应用于带有共享磁盘的HA 站
    点。
    ----------------------------------------------------
    最大文件大小: 1TB
    最大文件极限: 仅受文件系统大小限制
    最大分区/文件系统大小: 4TB
    最大文件名长度: 255 字符
    缺省最小/最大块大小: 1024/4096 字节
    缺省inode 分配: 每4096 字节为1
    在强制FS 检查前的最大装载: 20(可配置)
    ----------------------------------------------------
    ReiserFS


    ReiserFS 文件系统3.2.25 版是一种可选的日志文件系统。其优点包括更好的磁盘空间利用率、
    更好的磁盘访问性能和更快的崩溃恢复功能。
    ----------------------------------------------------
    最大文件大小: 1TB
    最大文件极限: 32k 目录,42 亿文件
    最大分区/文件系统大小: 4TB
    最大文件名长度: 255 字符
    ----------------------------------------------------
    JFS


    日志文件系统(Journaled File System, JFS)是一种全64 位文件系统。所有文件系统结构字
    段均为64 位大小。它允许JFS 同时支持大文件和分区。JFS 由IBM 根据GPL 许可开发,它
    是从其AIX 系统移植过来的。
    JFS 提供基于日志的字节级文件系统,它可以开发用于面向交易的高性能系统。它是可扩展
    的,且稳定可靠,其优于非日志文件系统之处在于其快速重新启动能力。JFS 可以在数秒钟
    或分钟之间将文件系统恢复到完好一致的状态。
    尽管它主要针对服务器的高吞吐量和可靠性要求(从单一处理器系统到高级多处理器和集群
    系统)而设计,JFS 同样也适用于要求性能和可靠性的客户配置。
    ----------------------------------------------------
    最小文件系统大小 16 MB
    最大文件大小: 受体系结构限制
    最大文件极限: 受文件系统大小限制
    缺省最小/最大块大小: 1024/4096 字节
    缺省inode 分配: 动态
    ----------------------------------------------------


    LVM


    逻辑卷管理程序(Logical Volume Manager, LVM)是一种在线磁盘存储管理的子系统,它已
    经成为跨Linux 存储管理的“事实上”标准。
    LVM 支持磁盘和磁盘子系统的企业级卷管理,它可以成组任意数量的磁盘到卷组。卷组的
    总能力可以分配给逻辑卷,这些逻辑卷可以按正常块设备来进行访问。
    此外,LVM 还提供存储的逻辑分离。当在线地对块设备进行大小调整的过程中,可以将数
    据从一个物理设备移动到另一个物理设备。LVM 也允许系统管理员轻松地对系统进行升级,
    去除有故障的磁盘,重新组织负载,并适应变化了的系统需求。
    ----------------------------------------------------
    最大逻辑卷大小 从使用4 Mb 盘区的256 Gb
    到使用较大PE 的1 Pb
    最大逻辑卷数: 256
    最大逻辑组数: 99
    每PV 的最大PE 数: 65534
    缺省物理盘区大小: 4 Mb
    ----------------------------------------------------

    可以用如下代码来测试你当前的文件系统支持的最大文件大小

    void main()
    {
    	int fd;
    	char s[]="Linux Programmer!\n";
    	fd =open("/home/tgbao/temp",O_WRONLY|O_CREAT);
    	while(1)
    	{
    		write(fd,s,sizeof(s));
    	}
    	close(fd);
    } 



    展开全文
  • Android Assets文件大小限制

    千次阅读 2012-06-13 17:09:14
    Android Asset Packaging Tool(aapt)使用这个工具可打包所有数据Image XML文件任何资源文件.在生成APK时aapt选择性的压缩各种资源来节省设备... 在Android 2.3以前的任何压缩的资源的原始大小超过1M将不能从APK中读
    Android Asset Packaging Tool(aapt)使用这个工具可打包所有数据Image XML文件任何资源文件.在生成APK时aapt选择性的压缩各种资源来节省设备空间,aapt使用后缀来决定哪个资源需要压缩,aapt源码定义一些不需要压缩的文件后缀。附aapt源码Package.cpp
    

     

      在Android 2.3以前的任何压缩的资源的原始大小超过1M将不能从APK中读出,如果你使用AssetManager 或 Resources classes方法来获取InputStream,将抛出java.io.IOException的异常如下 DEBUG/asset(1123): Data exceeds UNCOMPRESS_DATA_MAX (20078432 vs 1048576);

      可以看到如果需要打包数据库的童鞋文件过大就需要注意了。

      解决方法如下:

      1.将你的资源文件后缀改成上面列出的后缀。

      2.在命令行上使用-0参数来指定不需要压缩的文件后缀。当你使用Eclipse内的ADT目前还不知道有什么方法可以传递-0参数给aapt。

      3.将你的资源文件分割成UNCOMPRESS_DATA_MAX(1M)以下的文件.

    展开全文
  • 各文件系统对单个文件大小限制

    千次阅读 2017-11-25 08:56:00
    注意:Windows 95 OEM Service Release 版本 2 和更新版本支持大小超过 2 GB 的使用 FAT32 文件系统的驱动器。有关 FAT32 文件系统的更多信息,请参见下面的 Microsoft 知识库文章:  文章 ID: 154997 ( ...
  • linux设备堆栈大小限制

    千次阅读 2018-07-13 18:04:33
    问题情景: 在设备运行过程中,进程在执行一函数(function...C语言程序执行时会先检查函数的堆栈,linux系统会有一个默认的堆栈大小限制,在B函数中,由于一个数组分配空间过大(2M),栈空间大小超出了限制,不能...
  • Spring MVC 多文件上传大小限制及异常处理
  • LINUX下EXT3文件系统大小有2T限制

    千次阅读 2017-12-14 17:30:30
    因为ext3的inode使用32的地址指针以及3次间接指针,这样单个文件大小最多为2^10*2^10*2^10*2^11,也就是2的41次方,即在32系统上并使用4k块大小时,单个文件最多是8TB。由于使用32位的地址长度,ext3最多支持的...
  • Android 常见问题之Assets文件大小限制

    千次阅读 2013-01-06 13:30:30
    Android中有个很恶心的潜规则,就是当assets或是raw目录下单个压缩文件大小超过1024K之后,编译期appt会去强行处理此文件,使得我们运行期读取的时候会收到一个 This file can not be opened as a file ...
  • 原因: FAT12 单文件最大支持8M Fat16单文件最大支持2G Fat32单文件不能大于4G NTFS单文件最大64GB NTFS5.0单文件最大2TB 解决方案: 增加多个数据文件,对应同一...
  • Windows获取超过4GB文件大小: //获取超过4GB大小文件,0xFFFFFFFF=2^32-1 DWORD64 GetLargeFileSize(HANDLE hFile) { DWORD dwHiSize; DWORD dwLoSize = GetFileSize(hFile, &amp;amp;amp;amp;amp;...
  • android apk大小限制,进程大小限制

    千次阅读 2017-04-12 11:27:00
    apk 限制在50M一下,可以附加两个文件,一个文件2G,共4G...Asset限制文件大小1M进程限制在16M,24M,32M,64M以后可能更大。android不同设备单个进程可用内存是不一样的,可以查看/system/build.prop文件。dalvi...
  • #define _FILE_OFFSET_BITS 64 #include #include #include long long get_file_size(const char *filename) ...但是这两个函数对块设备文件,计算的结果不一致。 字符设备好像是一样的。  
  • OneDrive文件限制:150000

    千次阅读 2019-06-28 09:14:45
    一个OneDrive同步目录里的文件数最多支持150000(15万)个。这个限制来自云端,与文件系统和客户端无关。微软未公开这一限制
  • ulimit用于shell启动进程所占用的资源 1、类别: shell内建命令 2、语法格式: ulimit [-acdfHlmnpsStvw] [size] ...-c size:设置core文件的最大值.单位:blocks -d size:设置数据段的最大值.单位:kbytes -
  • ORACLE 表空间文件大小问题

    千次阅读 2016-02-24 09:29:47
    oracle及操作系统对于文件大小限制 如何配置不同尺寸的db block size from: http://bdcwl.blog.163.com/blog/static/765222652010112784912650/ DBA教材的第一部分就讲到了一旦create database,db_block_size...
  • 从ext3和ext4文件系统来窥探空间和文件大小的演算法则 学习操作系统就不得不研究磁盘以及磁盘文件系统,磁盘是底层物理设备,而文件系统则是管理磁盘的上层工具,文件系统规划了磁盘存放数据的格式,确定了一个操作...
  • Linux dd 命令 限制文件夹大小

    千次阅读 2018-09-19 16:37:51
    if=/dev/zero:表示输入文件为/dev/zero,一个虚拟的设备,顾名思义,里边的数据全是0 ibs=10M: 表示每次读取的块大小为10M,这个数值的大小跟内存有关,如果你要每次读1G的数据 count=512:表示共...
  • TCP、UDP数据包大小限制

    千次阅读 2018-09-04 12:10:55
    每个以太网帧都有最小的大小64Bytes最大不能超过1518Bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。  由于以太网EthernetII最大的数据帧...
  • linux文件描述符限制及使用详解

    千次阅读 2018-09-02 11:26:36
    最近调试一款网关设备,它部署在客户端和服务端之间。在工作时,它同时接收来自客户端的连接,同时又向服务端建立连接。 网关在完全接收来自客户端的数据后,会校验数据合法性,只有数据合法,网关才会向服务器建立...
  • 关于视频录制文件4G限制的处理方式

    千次阅读 2019-01-29 16:18:06
    录像默认会有4G的限制,之所以有这样的限制,是因为目前很多存储设备都是fat格式的,fat的size是32位表示的,天然就有4G的限制,而且实际上在限制4G的情况下只能录出来3.8G。是因为 1)要留一部分buffer写moovbox 2...
  • 限制端口连接数量 首先输入命令service iptables stop关闭iptables(注意:iptables可能会有问题,貌似在旧版本中不被认为是一个服务,而是防火墙,这个问题我还没有解决,如果你解决了请告诉我一声,谢谢) ...
  • Binder传输数据大小限制,你真的get到了吗? Binder通信,我想对于Android开发的读者来说,一定并不陌生。可是你知道Binder传输的数据有大小限制吗,下面让我们从源码和实例角度带领读者来分析一把。 Binder传输...
  • 绑定裸设备(查看裸设备大小

    千次阅读 2014-11-15 08:29:54
    绑定裸设备 raw /dev/raw/raw /dev/ 删除裸设备 raw /dev/raw/raw 0 0 ...裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备。裸设备可以绑定一个分区,也
  • 因为FAT32格式是不支持单个超过4G的文件,所以要将目标磁盘的磁盘格式改为NTFS。 如果将C盘转换成NTFS,在命令指示符下输入convert c: /fs:ntfs即可。  
  • 如果你是一个Android开发者,你至少听说过的Dalvik的蛋疼的64K方法限制。概括地说,在一个DEX文件,你可以调用很多的方法,但你只能调用它们最...如果你的源代码和炫酷的库中方法超过了这个限制。看这篇文章就对了。
  • Android 方法数超过限制的解决办法

    千次阅读 2015-09-27 23:26:35
    Developers在Google+上宣布了新的Multidex支持库,为方法总数超过65K的Android应用提供了官方支持。 如果你是一名幸运的Android应用开发者,正在开发一个前景广阔的应用,不断地加入新功能、添加新的类库,那么...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,430
精华内容 32,172
关键字:

其文件大小超过设备限制