mac 升级MacOS Majave 运行php老是出现 类似如下错误:

不开心

于是,我遇到了这位宝宝的博客

系统的资源限制

系统的资源是有限的(如CPU,内存,内核所能打开的最大文件数等),资源限制对针对进程能使用的系统资源设定上限。防止恶意进程无限制地占用系统资源。

资源限制分为两种,硬限制(Hard Limit)和软限制(Soft Limit),软限制作用于实际进程并且可以修改,但不能超过硬限制,硬限制只有Root权限才能修改。

相关命令

在Mac OS Majave下,有如下三个命令与系统资源有关。

launchctl

launchctl 命令简介

launchctl管理OS X的启动脚本,控制启动计算机时需要开启的服务(通过后台进程launchd)。也可以设置定时执行特定任务的脚本,类似Linux cron。

关于launchctl的plist格式和用法参考:

查看限制

增大限制

1.创建一个文件/Library/LaunchDaemons/limit.maxfiles.plist并粘贴以下内容(随意更改两个数字(分别是软限制和硬限制)

2.更改新文件的所有者

3.加载一下新设置

4.最后,检查限制是否正确

sysctl

大多数类Unix系统都通过(Linux/*BSD/OS X)都提供该命令来更改资源限制和内核配置:

ulimit

ulimit是shell的内置命令,用于查看/更改当前shell及其创建的子进程的资源限制。使用比较简单:

区别

  • ulimit只影响当前Shell下的进程,并且受限于kern.maxfilesperproc
  • 如果配置了plist,那么重启后,ulimit和sysctl均会继承plist中的值
  • 热修改sysctl上限值不会影响launchctl,而反之,launchctl会影响sysctl上限值
分类: 服务器

发表评论

电子邮件地址不会被公开。 必填项已用*标注