[arch-general] IPC slowness

Ralph Corderoy ralph at inputplus.co.uk
Fri Mar 8 11:20:15 UTC 2019


Hi Frederick,

>     #!/bin/bash
>     SCREEN=/usr/bin/screen
>     $SCREEN -dmS x
>     time $SCREEN -S x -X setenv A B
>     $SCREEN -S x -X quit

Perhaps it's closing more file descriptors now than before?

    $ strace -c screen -dmS x
    Directory '/run/screens' must have mode 777.
    % time     seconds  usecs/call     calls    errors syscall
    ------ ----------- ----------- --------- --------- ----------------
     99.98   11.762280          22    524299    524285 close
      0.00    0.000328          16        20         8 openat
      0.00    0.000323          10        30           mmap
      0.00    0.000304          16        18           read
      0.00    0.000192          14        13           fstat
      0.00    0.000132          66         2         2 connect
      0.00    0.000130          32         4           lstat
      0.00    0.000104          26         4           rt_sigaction
      0.00    0.000094          94         1           readlink
      0.00    0.000092          46         2           socket
      0.00    0.000071           7         9         7 stat
      0.00    0.000063          31         2           munmap
      0.00    0.000063          21         3           brk
      0.00    0.000048          48         1           write
      0.00    0.000041           3        11           mprotect
      0.00    0.000041          10         4         4 access
      0.00    0.000032          32         1           ioctl
      0.00    0.000028           7         4           lseek
      0.00    0.000025          25         1           umask
      0.00    0.000025          25         1           getuid
      0.00    0.000025          25         1           getgid
      0.00    0.000025          25         1           geteuid
      0.00    0.000024          24         1           getegid
      0.00    0.000000           0         1           execve
      0.00    0.000000           0         3           fcntl
      0.00    0.000000           0         2         1 arch_prctl
      0.00    0.000000           0         1           prlimit64
    ------ ----------- ----------- --------- --------- ----------------
    100.00   11.764490                524440    524307 total
    $

And that's because of

    prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024}) = 0
    close(524287)                           = -1 EBADF (Bad file descriptor)
    close(524286)                           = -1 EBADF (Bad file descriptor)
    close(524285)                           = -1 EBADF (Bad file descriptor)
    ...

-- 
Cheers, Ralph.


More information about the arch-general mailing list