我有 1GB 的 RAM,当我运行 NetBeans 和 Firefox 时,它们获得大约 300MB 的 RAM。在某些时候,系统变得非常慢,可能比正常慢 100 倍,切换窗口 ( Alt+ Tab) 成为一项艰巨的任务,计算机几乎没有用。这可能是它开始交换的时刻。
两个问题:
在另一台具有 4GB RAM 的计算机上,我没有问题。
更新:我添加了 2GB 的 RAM,现在我有 3GB。任何想在 Unity 上使用 1GB 大容量应用程序的人,我认为它行不通。在空桌面上工作正常:)
我需要同时运行convert大量图像。命令花了很长时间,但这并没有打扰我。
问题是该命令使我的计算机在命令运行时无法使用(大约 15 分钟)。
那么是否可以通过直接从命令行限制命令的资源(处理器和内存)来限制命令?这只有在我在按下之前在同一行添加一些东西时才能起作用,Enter因为一旦我开始这个过程,计算机就会变慢,以至于不可能切换到“系统监视器”并降低优先级。
我设法运行top并sudo iotop >iotop.txt在执行这些转换操作之一的同时。(生成的iotop.txt文件难以阅读)
上榜结果:
PID 用户 PR NI VIRT RES SHR S %CPU %MEM TIME+ 命令 14275 用户名 20 0 4043m 3.0g 1448 D 7.0 80.4 0:16.45 转换
iotop 的结果:
[?1049h[1;24r(B[m[4l[?7h[?1h=[39;49m[?25l[39;49m(B[m[H[2JTotal DISK READ): 1269.04 K/s | 总磁盘写入] :[59G0.00 B/s (B[0;7m TID PRIO 用户磁盘读磁盘写交换(B[0;1;7m IO>(B[0;7m COMMAND [3;2H(B[m2516 be/4 username 350.08 K/s 0.00 B/ s 0.00 % 0.00 % 时代精神-数据中心 7394 be/4 用户名 …
我不完全了解 zram 的功能和潜在优势。
例如:一旦 zram 被激活,多少百分比的内存将专用于分页?
另一个问题:显然总内存大小是内存中交换文件的上限。一旦耗尽,系统是否会开始在常规交换分区(如果存在)上进行交换?
zram 的主要缺点是什么?
注意:我有 32GB 的物理内存和 20GB 的交换分区。我使用非常需要内存的程序,并且经常用完内存(top 命令显示物理和交换几乎已满,并且系统速度很慢)。
谢谢。
在OOM杀手或移出存储器杀手是一个过程,在 Linux的当系统上存储器严重不足内核采用。... 这通过确保分配给进程的内存正在被积极使用来最大化系统内存的使用。
这个自我回答的问题问:
比自我回答所用的 1/2 小时更快的方法将被接受。
我想让一个应用程序在我的终端中运行,它向我显示内存使用情况,类似于top显示 CPU 和其他信息的方式,并iotop显示顶级 I/O 用户。

是否存在这样的应用程序?
PS 我知道 top 也显示内存使用情况,但我正在谈论按最高内存使用情况排序而不显示任何其他信息(类似于什么iotop)。
command-line monitoring software-recommendation memory-usage
I need to increase the default java heap size to get OpenNMS Linkd service running smoothly, and fortunately I have 4/5 of my total installed memory free at any given time even when their is maximum load on the server. still java is not performing to it's bast. hence I need to increase the default java heap size.
Can anyone tell me how to do it?
I'm using Ubuntu 12.04 lts & total memory installed is 16 GB out of …
从man time:
M Maximum resident set size of the process during its lifetime, in Kilobytes.
Run Code Online (Sandbox Code Playgroud)
从ulimit -a:
max memory size (kbytes, -m) unlimited
Run Code Online (Sandbox Code Playgroud)
但“千字节”可能意味着 1000 或 1024 字节。我猜这是一轮 1024,但我想确定一下。权威参考将不胜感激。
请随意将我的问题改写为:执行time并ulimit符合 IEC 建议,或使用 kibibyte 含义中的“kilobyte/kbyte”。
我的计算机(运行 Ubuntu Server 16.04)当前使用 15.4 GB RAM 中的 13.4 GB(根据 htop),但我很难理解是什么在使用该内存。
free -m报告:
total used free shared buff/cache available
Mem: 15733 13781 1083 22 868 1592
Swap: 71524 430 71094
Run Code Online (Sandbox Code Playgroud)
top显示内存使用率最高的进程占用了 6.8% 的内存,第二大的进程占用了 0.4% 的内存。
如果我使用ps aux | awk '{print $6/1024 " MB\t\t" $11}' | sort -n,它会显示与占用 1104 MB RAM 的(相同)最高内存使用进程,与 相比,这听起来很正确top。
如果我将 ps 报告的每个进程的所有值相加:
ps aux | awk '{sum=sum+$6}; END {print sum/1024 " MB"}'
Run Code Online (Sandbox Code Playgroud)
它报告总共使用了 1.8 GB RAM。
因此ps,我认为我使用的是 1.8 GB …
目前我正在使用wsl2,我注意到ext4.vhdx需要大量的磁盘空间,就像我知道它是Ubuntu的文件管理系统一样,但我不太了解里面的内容,这就是为什么我想查看里面并删除所有不需要的文件,我该怎么办?就像我知道 wsl2 不会将使用的磁盘空间释放回主机系统(我使用的是 Windows 10),所以这就是为什么我想看看 ubuntu 拥有哪些磁盘存储。
memory-usage ×10
ram ×6
command-line ×2
11.04 ×1
cpu-load ×1
disk ×1
htop ×1
java ×1
monitoring ×1
networking ×1
process ×1
swap ×1
top ×1
ulimit ×1
unity ×1
windows-10 ×1
windows-subsystem-for-linux ×1
zram ×1