我在 Ubuntu 17.04 上。试图增加打开文件限制,但我在网上找到的所有说明都不起作用。我可以达到 4096,但不能超过那个。
$ ulimit -n
1024
$ ulimit -n 4096
$ ulimit -n
4096
Run Code Online (Sandbox Code Playgroud)
那个有效。这不会:
$ ulimit -n 4097
bash: ulimit: open files: cannot modify limit: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
似乎是因为硬限制:
$ ulimit -Hn
4096
Run Code Online (Sandbox Code Playgroud)
我尝试将这些行添加到 /etc/security/limits.conf:
* hard nofile 65535
* soft nofile 65535
root soft nofile 65535
root hard nofile 65535
Run Code Online (Sandbox Code Playgroud)
还将这一行添加到 /etc/pam.d/common-session 和 /etc/pam.d/common-session-noninteractive:
session required pam_limits.so
Run Code Online (Sandbox Code Playgroud)
自从这样做以来,我重新启动了我的电脑。对limits.conf 的更改似乎没有任何影响。硬限制仍然停留在 4096,阻止我进一步提高。如何增加我的打开文件限制?
这是一些额外的配置信息:
$ cat /proc/sys/fs/file-max
1624668
Run Code Online (Sandbox Code Playgroud) 我们的开发人员使用 Docker 或 VirtualBox(使用 Vagrant)在本地测试他们的代码(并且两者都会出现问题)。为方便起见,我们修改 /etc/hosts 以指向正确的 IP 地址。例如,
local.test.company.com 10.200.10.1
Run Code Online (Sandbox Code Playgroud)
我们的一些开发人员使用 Linux,一些开发人员使用 macOS Sierra (10.12.3)。在 Mac 上,Chrome(和其他浏览器)中对 local.test.company.com 的请求通常需要很长时间(最多一分钟或更长时间)才能解决。(该问题在 Ubuntu Linux 上不会发生。)在此期间,选项卡上的“加载图标”是向左旋转的灰色图标。一旦它变为向右旋转的蓝色图标,它就会很快完成。对于在开发过程中经常刷新站点的开发人员来说,缓慢的加载时间可能是一个真正的问题。
基于这个问题,Chrome 似乎需要整整一分钟来解析该站点。这对我来说没有意义 - /etc/hosts 中的站点应该立即解析。一些开发人员可以非常一致地重现这种行为。其他人断断续续地看到它或根本看不到它,我一直无法弄清楚为什么。
为什么对 local.test.company.com 的请求需要很长时间才能在 Web 浏览器中解析?
或者,我能做些什么来“调试”这个问题并找出需要这么长时间的原因?
补充说明
我最近将我的家用台式电脑升级到了 Windows 10。自从我这样做后,我的电脑在夜间似乎随机从睡眠中醒来。这非常烦人,因为我和电脑睡在同一个房间,它会在凌晨 3:00 叫醒我。
经过一些研究,它似乎正在唤醒自己以自动安装更新。
我已经尝试了几种方法来禁用它。
转到控制面板中的“电源选项”。更改计划设置。更改高级电源设置。“睡眠”/“允许唤醒定时器”是“禁用”。
我曾经powercfg -devicedisablewake
禁用所有设备,以便powercfg -devicequery wake_armed
返回NONE
.
我的主板上禁用了 LAN 唤醒。
在“Windows 更新设置”的高级选项下,我已从“自动”切换到“通知安排重启”。
最后,基于这个 Reddit 线程,我打开了“任务计划程序”,转到 Microsoft/Windows/UpdateOrchestrator/Reboot,打开属性,然后打开条件选项卡,并取消选中“唤醒计算机以运行此任务”。
我认为在 UpdateOrchestrator 的重启任务(上面的最后一个项目符号)中关闭“唤醒计算机以运行此任务”后,问题终于解决了。这似乎解决了几天的问题。但是昨晚又发生了。我今天看的时候,在任务计划程序中再次选中了“唤醒计算机以运行此任务”选项。我认为当我在一两天前手动运行 Windows 更新时,设置可能已经改变了。
这让我发疯。如何防止我的计算机从睡眠中唤醒?
使用 Windows 10 命令提示符,我必须.exe
在几乎所有命令之后键入才能使其工作。例如,
>ping google.com
'ping' is not recognized as an internal or external command,
operable program or batch file.
>ping.exe google.com
Pinging google.com [216.58.217.46] with 32 bytes of data:
Reply from 216.58.217.46: bytes=32 time=11ms TTL=55
>where java
'where' is not recognized as an internal or external command,
operable program or batch file.
>where.exe java
INFO: Could not find files for the given pattern(s).
>where.exe java.exe
C:\ProgramData\Oracle\Java\javapath\java.exe
Run Code Online (Sandbox Code Playgroud)
我在运行 SDK 管理器的 Android Studio 中遇到问题,我怀疑这与此有关。此外,这很烦人,我想知道它是否会破坏其他脚本。我不知道这究竟是什么时候开始发生的,但想不出我已经改变的任何设置可以做到这一点。
windows-10 ×2
command-line ×1
dns ×1
hosts-file ×1
linux ×1
mac ×1
networking ×1
sleep ×1
ubuntu ×1
ubuntu-17.04 ×1
ulimit ×1
windows ×1