标题:[实践OK]CentOS7下面screen is very slow when it opens new window。 出处:向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除 时间:Wed, 17 Apr 2024 17:41:11 +0000 作者:jackxiang 地址:https://jackxiang.com/post/12366/ 内容: 除开strace外还有一款性能分析工具: sudo yum install perf perf record -F max -a -g -- screen -ls perf record -F max -a -g -- screen -ls info: Using a maximum frequency rate of 11,000 Hz There is a screen on: 16882.abc (Detached) 1 Socket in /var/run/screen/S-root. [ perf record: Woken up 14 times to write data ] [ perf record: Captured and wrote 4.143 MB perf.data (34888 samples) ] 可在不同设备上读取的perf.data 文件. 您可以使用 perf 工具将性能数据记录到 perf.data 文件中,以便在不同的设备上分析。 echo Soft: $(ulimit -Sn) echo Hard: $(ulimit -Hn) Soft: 1024000 Hard: 1024000 立即生效的解决办法(重启配置失效): ulimit -Sn 10000 ulimit -Hn 50000 重启后永久生效实操: 要在 CentOS 7 上永久设置 `ulimit`,您需要修改 `/etc/security/limits.conf` 文件。这个文件允许您设置系统级别的资源限制。您可以按照以下步骤进行修改: 1. 打开终端并以 root 用户身份登录。 2. 使用文本编辑器(如 `vi` 或 `nano`)打开 `/etc/security/limits.conf` 文件: ```bash sudo vi /etc/security/limits.conf ``` 3. 在文件末尾添加以下行: ``` * soft nofile 10000 * hard nofile 50000 ``` 这里,`soft` 代表软限制,`hard` 代表硬限制。软限制是系统允许的最大值,超过此限制时会发出警告。硬限制是系统允许的绝对最大值,超过此限制时会导致操作失败。通常情况下,软限制和硬限制是相同的。 4. 保存并关闭文件。在 vi 中,您可以按 `Esc` 键输入 `:wq` 然后按 `Enter` 保存并退出。 5. 重新启动系统或重新登录以使更改生效。 现在 `ulimit` 的设置应该在系统重新启动后生效,并且将永久保持。 fix: Normalize RLIMIT_NOFILE (LimitNOFILE) to sensible defaults: https://github.com/moby/moby/pull/45534 gnu screen run extremely slow when using 'root' user in container since docker 23.0.1 #45380: https://github.com/moby/moby/issues/45380 ============================================================= 火焰图 on-cpu火焰图可以用于分析cpu是被哪些线程、哪些函数占用的,可以方便的找到热点代码便于后续分析优化。下面我们介绍下火焰图的生成和使用方法。 使用方法 准备FlameGraph工具。 git clone https://github.com/brendangregg/FlameGraph.git 用perf record采集CPU信息。 perf record -e cpu-clock -g ./perf_test Ctrl+c结束执行后,在当前目录下会生成采样数据perf.data。 用perf script工具对perf.data进行解析。 perf script -i perf.data &> perf.unfold 将perf.unfold中的符号进行折叠。 ./stackcollapse-perf.pl perf.unfold &> perf.folded 最后生成svg图。 ./flamegraph.pl perf.folded > perf.svg perf.svg 用浏览器就可以打开 来自:https://github.com/moby/moby/pull/45534 Generated by Jackxiang's Bo-blog 2.1.1 Release