小编Dan*_*tts的帖子

Linux(非透明)每进程大页记帐

我最近转变了一些Java应用程序与Linux的手动配置的大页面上运行,如所描述这里。我指出“手动配置”是因为它们不是 透明的大页面,这给我们带来了一些性能问题

所以现在,我在一个系统上运行了大约 10 个 tomcat,我很想知道每个 tomcat 使用了多少内存。

我可以/proc/meminfo按照Linux Huge Pages Usage Accounting 中的描述获取摘要信息。

但是我找不到任何工具来告诉我每个进程的实际大页面使用情况。

/proc/pid/numa_stat探查了一下,发现了一些有趣的信息,这些信息使我如此粗暴:

function pshugepage () {
    HUGEPAGECOUNT=0
    for num in `grep 'anon_hugepage.*dirty=' /proc/$@/numa_maps | awk '{print $6}' | sed 's/dirty=//'` ; do
        HUGEPAGECOUNT=$((HUGEPAGECOUNT+num))
    done
    echo process $@ using $HUGEPAGECOUNT huge pages
}
Run Code Online (Sandbox Code Playgroud)

或者这个,在perl中:

sub counthugepages {
    my $pid=$_[0];
    open (NUMAMAPS, "/proc/$pid/numa_maps") || die "can't open numa_maps";
    my $HUGEPAGECOUNT=0;
    while (my $line=<NUMAMAPS>) {
        next unless ($line …
Run Code Online (Sandbox Code Playgroud)

linux java linux-kernel

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

为什么 Linux 上的 Postfix 在日志文件的路径名前需要一个“-”字符?

我在这里找到了以下内容:

重要提示:在 Linux 上,您需要在路径名之前放置一个“-”字符,例如 -/var/log/maillog,否则 syslogd 进程将使用比 Postfix 更多的系统资源。

但是文档没有给出任何理由。那么,为什么需要这个“-”呢?

linux postfix configuration logging rsyslog

3
推荐指数
1
解决办法
203
查看次数

标签 统计

linux ×2

configuration ×1

java ×1

linux-kernel ×1

logging ×1

postfix ×1

rsyslog ×1