标签: memory-usage

为什么我经常收到“无法分配内存”错误?

我正在使用带有 Gnome-Classic 的 Ubuntu 12.10。我经常遇到这个错误,几乎所有的程序,无论大小。当我尝试打开它们时,它们没有启动,而是收到一条错误消息,内容为Could not launch 'Program' - Failed to fork child process (Cannot allocate memory)。直到最近几周,这才成为问题。

无法分配内存

我无法辨别导致此错误的程序之间的任何共性。这似乎更多的是时间问题。在我的计算机运行了一段时间后,从一天到几天不等,然后我似乎无法启动任何新程序。

我知道防止此错误的唯一方法是重新启动计算机。

为什么我会收到这个错误,我该怎么做才能阻止它发生?


我运行了 GRUB 菜单中可用的 memtest,它没有报告任何错误,所以我认为这不是硬件故障。

我也跑了sudo apt-get check,没有发现错误。

这是一些请求的命令行输出:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          3945       3753        191          0        181        475
-/+ buffers/cache:       3096        848
Swap:         3813         60       3753

$ swapon -s
Filename                Type        Size    Used    Priority
/dev/sda6                               partition   3905532 61648   -1

$ ulimit -a
core file size          (blocks, -c) 0
data seg …
Run Code Online (Sandbox Code Playgroud)

memory-usage ram memory-leak

32
推荐指数
3
解决办法
24万
查看次数

vanilla Ubuntu 16.04 LTS 服务器可以在没有 snapd 的情况下运行吗?

我的一些小尺寸 Ubuntu 设备的内存不足。我注意到它snapd正在运行并使用了大量的 RAM。我抓住机会停止了snapd服务,事情仍然在运行,但我想知道我的机器是否会正确重启。

我想知道的是,在 Ubuntu 16.04 服务器的通用安装中是否有需要快照才能运行的核心服务?

另外,我需要禁用哪些服务systemctl才能摆脱snapd

memory-usage 16.04 snap

32
推荐指数
2
解决办法
7047
查看次数

如何使用 oom_score_adj?

在 11.04 上,/proc/[pid]包含oom_score_adj,但man proc描述了旧的oom_adj. 我在谷歌上搜索了有关如何使用它的任何信息,但没有成功。

我需要安排的是由“pbs”或“gridengine”启动的进程在其他任何东西被杀死之前被杀死。我怎样才能做到这一点?

process memory-usage

31
推荐指数
6
解决办法
5万
查看次数

`free` 输出从 14.04 到 16.04 的变化是什么意思?

我注意到free命令报告在 Trusty 和 Xenial 之间发生了变化。这是我的一台 Trusty 计算机上显示的“free -m”:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7916       7645        271         99        455       1764
-/+ buffers/cache:       5426       2490
Swap:        24999        805      24194
Run Code Online (Sandbox Code Playgroud)

这是(不同的)Xenial 系统上的等效项:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           3553        1192         857          16        1504        2277
Swap:          3689           0        3689
Run Code Online (Sandbox Code Playgroud)

我主要用来查看的 +/- 缓冲区/缓存行已经消失了。我应该如何解释新数字?

  • Mem used/free 是否包括缓冲区和缓存?
  • 哪些数字与早期版本的“+/- 缓冲区/缓存”行中的已用数字和空闲数字相同?

memory-usage free

31
推荐指数
1
解决办法
1万
查看次数

如何在我的 GPU 上找到内存使用情况?

以前,我使用以下命令检查 GPU 上的内存使用情况:

nvidia-settings -q all | grep Memory
Run Code Online (Sandbox Code Playgroud)

我正在使用numpy和处理我的 GPU 上的一些科学数据theano。我在运行 gnome 桌面的情况下执行此操作,并且设备上已经使用了 380 Mb 的内存。所以我停止了 lightdm 以释放更多的 GPU 内存;但是,现在 nvidia-settings 工具不再有效。

它只是错误,没有显示

ERROR: Cannot open display ':0.0'.
Run Code Online (Sandbox Code Playgroud)

是否有其他方法可以在不使用此工具的情况下获取 GPU 内存?有什么方法可以让它在无头模式下运行吗?

nvidia memory-usage gpu

23
推荐指数
1
解决办法
5万
查看次数

谷歌浏览器会占用我的内存,导致我的计算机几乎停止运行。我能做些什么来防止这种情况?

它变得如此可怕,我什至无法切换到 TTY1 来强制重启。我必须硬重置,我失去了工作。

理想情况下,我希望能够在 Ubuntu 上使用 chrome 浏览器,而不必一直提醒自己关闭标签。

是否有任何适用于 Chrome 的扩展程序或适用于 Ubuntu 的工具可以帮助我避免超过 Ubuntu 耗尽所有 RAM 并变得无能为力的情况?

google-chrome memory-usage ram 16.04

23
推荐指数
2
解决办法
2万
查看次数

为什么 top 中的 %MEM 值不等于总使用内存?

我目前正在调试 VPS 的性能问题,为此我试图了解哪些进程占用的内存最多。阅读顶部,这是我得到的:

Mem:    366544k total,   321396k used,    45148k free,      380k buffers
Swap:  1048572k total,   592388k used,   456184k free,     7756k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                  
12339 ruby      20   0  844m  74m 2440 S    0 20.8   0:24.84 ruby                                                                                     
12363 ruby      20   0  844m  73m 1576 S    0 20.6   0:00.26 ruby                                                                                     
21117 ruby      20   0  171m  33m 1792 S    0  9.3   2:03.98 ruby                                                                                     
11846 ruby      20   0  858m  21m 1820 S    0  6.0   0:09.15 …
Run Code Online (Sandbox Code Playgroud)

memory-usage top

21
推荐指数
1
解决办法
1万
查看次数

我可以在不使用文件缓存的情况下更快地复制大文件吗?

添加preload包后,我的应用程序似乎加快了速度,但如果我复制一个大文件,文件缓存会增长两倍以上的文件大小。

通过将单个 3-4 GB 的虚拟机图像或视频文件传输到外部驱动器,这个巨大的缓存似乎从内存中删除了所有预加载的应用程序,导致加载时间增加和总体性能下降。

有没有办法复制大的、多千兆字节的文件而不缓存它们(即绕过文件缓存)?或者一种将特定文件夹列入白名单或黑名单以防止缓存的方法?

kernel cache memory-usage

20
推荐指数
2
解决办法
2万
查看次数

在 Ubuntu 服务器上运行任何命令都会返回“无法分配内存”

我正在使用 Ubuntu 14.04。最近,当我使用具有 sudo 权限的用户通过 SSH 登录时,我运行的每个命令都会导致“无法分配内存”错误。这是我在控制台上尝试过的一些

myuser@mymachine:~$ whoami
-bash: fork: Cannot allocate memory
myuser@mymachine:~$ uname -a
-bash: fork: Cannot allocate memory
Run Code Online (Sandbox Code Playgroud)

即使我尝试sudo reboot now我也会收到上述错误,所以我不知道我还能尝试什么来解锁我的实例。如果重要的话,主机是 DigitalOcean。

编辑:根据此处给出的答案/建议是“免费”的输出

myuser@mymachine:~$ free
-bash: fork: Cannot allocate memory
Run Code Online (Sandbox Code Playgroud)

server reboot bash memory-usage ram

20
推荐指数
2
解决办法
13万
查看次数

如何监控进程消耗的内存?

我有一个进程,我想查看它在运行时消耗了多少内存。

现在我这样做:

ps faux | grep casper
Run Code Online (Sandbox Code Playgroud)

但这只是给了我那一刻的信息。很高兴看到该值随着脚本的进行而发生变化。

我有什么办法可以做到这一点?

monitor memory-usage 12.04

19
推荐指数
3
解决办法
6万
查看次数

标签 统计

memory-usage ×10

ram ×3

16.04 ×2

12.04 ×1

bash ×1

cache ×1

free ×1

google-chrome ×1

gpu ×1

kernel ×1

memory-leak ×1

monitor ×1

nvidia ×1

process ×1

reboot ×1

server ×1

snap ×1

top ×1