首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OSx上的Python -设置打开文件的新限制

在OSx上,Python可以通过设置打开文件的新限制来控制文件的访问权限和限制。这可以通过以下步骤完成:

  1. 首先,打开终端应用程序。
  2. 输入以下命令来编辑Python的配置文件:
代码语言:txt
复制

sudo nano /etc/sysctl.conf

代码语言:txt
复制
  1. 在打开的文件中,添加以下行来设置新的文件限制:
代码语言:txt
复制

kern.maxfiles=65536

kern.maxfilesperproc=65536

代码语言:txt
复制

这将设置每个进程和系统的最大文件数为65536。

  1. 按下Ctrl + X,然后按Y键保存更改。
  2. 输入以下命令来重新加载配置文件:
代码语言:txt
复制

sudo sysctl -w kern.maxfiles=65536

sudo sysctl -w kern.maxfilesperproc=65536

代码语言:txt
复制
  1. 最后,重新启动计算机以使更改生效。

设置打开文件的新限制可以提高Python在OSx上处理文件的能力,并允许同时打开更多的文件。这对于需要处理大量文件的应用程序和任务非常有用,例如数据处理、日志分析等。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Unix编程/应用问答中文版 ---6./etc/system可调资源限制

本文出自:[url]http://www.nsfocus.com[/url] 维护:小四 6. /etc/system可调资源限制 6.1 Solaris下如何限制每个用户可拥有的最大进程数 6.2 如何配置系统使之支持更多的伪终端 6.3 如何增加每个进程可打开文件句柄数 6.4 6.5 做了setuid()这类调用的程序如何产生core dump 6.6 消息队列调整 -------------------------------------------------------------------------- 6. /etc/system可调资源限制 6.1 Solaris下如何限制每个用户可拥有的最大进程数 A: Casper Dik 在/etc/system设置 set maxuprc = Q: maxusers参数究竟影响了什么 A: Casper Dik 下面以/etc/system语法格式举例说明: * set maxusers = <以MB为单位计的可用物理内存数量> * 系统所允许的最大进程数,通常最多30000 set max_nprocs = 10 + 16 * maxusers * 每个用户可以拥有的最大进程数(为超级用户保留5个) set maxuprc = max_nprocs - 5; # sysdef | sed -n '/System Configuration/,$p' 6.2 如何配置系统使之支持更多的伪终端 A: Argoth 不要试图通过'/usr/bin/adb -k'到达目的。 a. 如果Solaris版本小于7,修改/etc/system,增加如下行 set pt_cnt= 执行/usr/sbin/reboot -- -r,或者Stop-A,执行boot -r b. 对于Solaris 8,支持的伪终端数目根据需要动态改变,系统依然有一个内部限制, 但是这个值非常大。如果"pt_cnt"变量小于这个内部限制,将被忽略。一般情况 下,不再需要指定"pt_cnt"变量。但还是有某些罕见的情形,需要设置"pt_cnt" 变量大于内部限制。 6.3 如何增加每个进程可打开文件句柄数 A: Casper Dik 从Solaris 2.4开始,可以通过修改/etc/system实现 * set hard limit on file descriptors set rlim_fd_max = 4096 * set soft limit on file descriptors set rlim_fd_cur = 1024 软限制超过256时,某些应用程序会出问题,尤其BCP程序。软限制超过1024时,那些 使用select()的应用程序可能会出问题。Solaris 7之前,select()使用的文件句柄 数不能超过1024。Solaris 2.6的RPC代码被重写过了,使用poll()代替select(),可 以使用超过1024的文件句柄。Solaris 2.6之前,如果软限制超过1024,所有RPC服务 很可能崩溃。 Solaris 7下select()可以使用最多达65536的文件句柄,64-bit应用程序缺省情况如 此。如果是32-bit应用程序,需要指定给FD_SETSIZE一个更大的值,重新编译。 如果程序使用标准输入/输出(stdio),或者调用那些使用stdio的库函数,当打开的 文件超过256时,程序可能会出问题,这个限制是stdio的限制。当程序需要大量文件 句柄时,应该想办法保留一些小数字的文件句柄,让stdio使用它们。 Solaris 7下64-bit应用程序不再受这个stdio限制的影响。如果你的确需要超过256 个FILE *,而又不能使用Solaris 7,或者需要运行32-bit代码,考虑使用来自AT&T 的SFIO([url]http://www.research.att.com/sw/tools/sfio/[/url])。 A: [email]qaz@smth.org[/email] 检查当前设置 # ulimit -H -n 1024 # ulimit -S -n 64 # 对于Solaris,建议修改/etc/system后重启 * set hard limit on file descriptors set rlim_fd_max=0x8000 * set soft limit on file descriptors set rlim_fd_cur=0x8000 然后 ulimit -S -n 8192 对于Linux echo 65536 > /proc/sys/fs/file-max 然后 ulimit -S -n 8192 对于FreeBSD 编辑/etc

03

sysctl.conf优化方案

网上关于sysctl.conf的优化方案有各种版本,大多都是抄来抄去的,让新人看了很迷茫。为解决此问题,经过两天的整理,查了N多资料,将大家常用的总结如下,很多默认的不需要修改的暂未涉及,今后将逐步把所有的项目都有个翻译、讲解、修改建议,如有修改,将以此文为准,其他地方的内容,本人不负责更新。因此转载请注明链接地址:http://www.bsdlover.cn/security/2007/1216/article_8.html如果您有补充或修订意见,请于本文后评论或邮件联系cujxtm@gmail.com,万分感谢! ################### 所有rfc相关的选项都是默认启用的,因此网上的那些还自己写rfc支持的都可以扔掉了:) ############################### net.inet.ip.sourceroute=0 net.inet.ip.accept_sourceroute=0 ############################# 通过源路由,攻击者可以尝试到达内部IP地址 --包括RFC1918中的地址,所以 不接受源路由信息包可以防止你的内部网络被探测。 ################################# net.inet.tcp.drop_synfin=1 ################################### 安全参数,编译内核的时候加了options TCP_DROP_SYNFIN才可以用,可以阻止某些OS探测。 ################################## kern.maxvnodes=8446 #################http://www.bsdlover.cn######### vnode 是对文件或目录的一种内部表达。 因此, 增加可以被操作系统利用的 vnode 数量将降低磁盘的 I/O。 一般而言, 这是由操作系统自行完成的,也不需要加以修改。但在某些时候磁盘 I/O 会成为瓶颈, 而系统的 vnode 不足, 则这一配置应被增加。此时需要考虑是非活跃和空闲内存的数量。 要查看当前在用的 vnode 数量: # sysctl vfs.numvnodes vfs.numvnodes: 91349 要查看最大可用的 vnode 数量: # sysctl kern.maxvnodes kern.maxvnodes: 100000 如果当前的 vnode 用量接近最大值,则将 kern.maxvnodes 值增大 1,000 可能是个好主意。 您应继续查看 vfs.numvnodes 的数值, 如果它再次攀升到接近最大值的程度, 仍需继续提高 kern.maxvnodes。 在 top(1) 中显示的内存用量应有显著变化, 更多内存会处于活跃 (active) 状态。 #################################### kern.maxproc: 964 #################http://www.bsdlover.cn######### Maximum number of processes #################################### kern.maxprocperuid: 867 #################http://www.bsdlover.cn######### Maximum processes allowed per userid #################################### 因为我的maxusers设置的是256,20+16*maxusers=4116。 maxprocperuid至少要比maxproc少1,因为init(8) 这个系统程序绝对要保持在运作状态。 我给它设置的2068。 kern.maxfiles: 1928 #################http://www.bsdlover.cn######### 系统中支持最多同时开启的文件数量,如果你在运行数据库或大的很吃描述符的进程,那么应该设置在20000以上, 比如kde这样的桌面环境,它同时要用的文件非常多。 一般推荐设置为32768或者65536。 #################################### kern.argmax: 262144 #################http://www.bsdlover.cn######### maximum number of bytes (or characters) in an argument list. 命令行下最多支持的参数,比如你在用find命令来批量删除一些文件的时候 fi

03
领券