tmpfs aktivitas az iotop-ban?

Fórumok

Udv!

 

A segitsegeteket/velemenyeteket szeretnem kerni.

Nem fer a fejembe, hogy hogy lehetseges hogy a tmpfs-el mountolt directory megis lathato az iotop-ban meghozza nem 0-as DISK WRITE ertekkel.

Tudtommal ott csak a tenyleges disk-re irasoknak kene megjelennie.

Bovebben:

Docker-ben fut a Unifi-nak a Unifi Network Controller software-e. A containerben fut egy java es egy mongodb process amik megjelennek az iotop-ban, pedig szerintem nem kene nekik.

 

Setup:

pi@raspberrypi:~ $ cat /sys/firmware/devicetree/base/model
Raspberry Pi 2 Model B Rev 1.1

pi@raspberrypi:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

 

pi@raspberrypi:~ $ cat unifi/docker-compose.yml
version: '2'
services:
  unifi:
    image: ryansch/unifi-rpi:latest
    container_name: unifi
    restart: always
    network_mode: host
    # Uncomment the following to set java options
    # environment:
    #   JAVA_OPTS: -Xmx512M
    volumes:
      # Unifi v5.0.7 creates all of these directories (some remain empty)
      - config:/var/lib/unifi
      - run:/usr/lib/unifi/run
      - run2:/run/unifi
      - work:/usr/lib/unifi/work
    tmpfs:
      - /var/log/unifi:size=10M
      - /usr/lib/unifi/logs:size=10M
volumes:
  config:
    driver: local
  run:
    driver: local
  run2:
    driver: local
  work:
    driver: local

 

Problema:

pi@raspberrypi:~ $ sudo iotop -aok
Total DISK READ:         0.00 K/s | Total DISK WRITE:         3.42 K/s
Current DISK READ:       0.00 K/s | Current DISK WRITE:      10.26 K/s
  PID  PRIO  USER     DISK READ DISK WRITE>  SWAPIN      IO    COMMAND
  686 be/4 root        280.00 K  90708.00 K  0.00 %  0.00 % java -Xmx51~e.jar start
  726 be/4 root          0.00 K  56236.00 K  0.00 %  0.00 % bin/mongod ~p 127.0.0.1
   81 be/3 root          0.00 K  28424.00 K  0.00 %  0.02 % [jbd2/mmcblk0p2-]
  423 be/4 root          0.00 K   1324.00 K  0.00 %  0.00 % dhcpcd -q -w
  446 be/4 root        124.00 K      0.00 K  0.00 %  0.00 % dockerd -H ~ainerd.sock
  647 be/4 root        100.00 K      0.00 K  0.00 %  0.00 % containerd-~ainerd.sock
18784 be/4 root          0.00 K      0.00 K  0.00 %  0.00 % [kworker/u8~ts_unbound]

 

java process [686]:

pi@raspberrypi:~ $ sudo lsof -p 686 | grep -e "[[:digit:]]\+w"
java    686 root    1w     FIFO       0,11      0t0  15655 pipe
java    686 root    2w     FIFO       0,11      0t0  15656 pipe
java    686 root  152w      REG      179,2    43989 396382 /var/lib/unifi/logs/server.log
java    686 root  165w     FIFO       0,11      0t0  15025 pipe
java    686 root  169w     FIFO       0,11      0t0  15027 pipe
java    686 root  173w     FIFO       0,11      0t0  15687 pipe
java    686 root  180w     FIFO       0,11      0t0  17995 pipe
java    686 root  199w     FIFO       0,11      0t0  15297 pipe
java    686 root  202w     FIFO       0,11      0t0  15298 pipe
java    686 root  205w      REG       0,50  5069728      4 /usr/lib/unifi/logs/remote/192.168.178.44_f492bf298e9b.log
java    686 root  209w     FIFO       0,11      0t0  18019 pipe
java    686 root  212w     FIFO       0,11      0t0  18020 pipe
java    686 root  215w     FIFO       0,11      0t0  18021 pipe
java    686 root  220w     FIFO       0,11      0t0  18023 pipe
java    686 root  223w     FIFO       0,11      0t0  18024 pipe
java    686 root  226w     FIFO       0,11      0t0  18025 pipe
java    686 root  230w     FIFO       0,11      0t0  18026 pipe
java    686 root  233w     FIFO       0,11      0t0  18027 pipe


pi@raspberrypi:~ $ sudo strace -y -f -p 686 -e trace=write
strace: Process 686 attached with 76 threads
[pid   791] write(199<pipe:[15297]>, "\1", 1) = 1
[pid 17031] write(228<socket:[144945]>, "HTTP/1.1 100 \r\n\r\n", 17) = 17
[pid 17031] write(165<pipe:[15025]>, "\1", 1) = 1
[pid 17031] write(165<pipe:[15025]>, "\1", 1) = 1
[pid 17031] write(228<socket:[144945]>, "HTTP/1.1 200 \r\nContent-Type: app"..., 234) = 234
[pid 17031] write(165<pipe:[15025]>, "\1", 1) = 1
[pid 17031] write(199<pipe:[15297]>, "\1", 1) = 1
[pid   791] write(202<pipe:[15298]>, "\1", 1) = 1
[pid 17031] write(240<socket:[144946]>, "HTTP/1.1 100 \r\n\r\n", 17) = 17
[pid 17031] write(165<pipe:[15025]>, "\1", 1) = 1
[pid 17031] write(165<pipe:[15025]>, "\1", 1) = 1
[pid 17031] write(240<socket:[144946]>, "HTTP/1.1 200 \r\nContent-Type: app"..., 234) = 234
[pid 17031] write(165<pipe:[15025]>, "\1", 1) = 1
[pid 17031] write(202<pipe:[15298]>, "\1", 1) = 1
[pid   791] write(199<pipe:[15297]>, "\1", 1) = 1
[pid 17031] write(228<socket:[144954]>, "HTTP/1.1 100 \r\n\r\n", 17) = 17
[pid 17031] write(165<pipe:[15025]>, "\1", 1) = 1
[pid 17031] write(165<pipe:[15025]>, "\1", 1) = 1
[pid 17031] write(228<socket:[144954]>, "HTTP/1.1 200 \r\nContent-Type: app"..., 234) = 234
[pid 17031] write(165<pipe:[15025]>, "\1", 1) = 1
[pid 17031] write(199<pipe:[15297]>, "\1", 1) = 1
strace: Process 19591 attached
strace: Process 19592 attached
[pid 19591] +++ exited with 0 +++
[pid 19592] +++ exited with 0 +++
[pid   791] write(202<pipe:[15298]>, "\1", 1) = 1
[pid   771] write(205</usr/lib/unifi/logs/remote/192.168.178.44_f492bf298e9b.log>, "2021-04-04T09:49:02,096 <14>Apr "..., 343) = 343
[pid 17031] write(235<socket:[144960]>, "HTTP/1.1 200 \r\nContent-Type: app"..., 220) = 220


mongod process [726]:

pi@raspberrypi:~ $ sudo lsof -p 726 | grep -e "[[:digit:]]\+w"
mongod  726 root    1w   REG       0,50     8936      2 /usr/lib/unifi/logs/mongod.log
mongod  726 root    2w   REG       0,50     8936      2 /usr/lib/unifi/logs/mongod.log


df kimenetek:

pi@raspberrypi:~ $ df | ts
Apr 04 07:40:05 Filesystem     1K-blocks    Used Available Use% Mounted on
Apr 04 07:40:05 /dev/root       29765200 2524880  25998324   9% /
Apr 04 07:40:05 devtmpfs          465284       0    465284   0% /dev
Apr 04 07:40:05 tmpfs             498564       0    498564   0% /dev/shm
Apr 04 07:40:05 tmpfs             498564    6684    491880   2% /run
Apr 04 07:40:05 tmpfs               5120       4      5116   1% /run/lock
Apr 04 07:40:05 tmpfs             498564       0    498564   0% /sys/fs/cgroup
Apr 04 07:40:05 tmpfs              51200       0     51200   0% /tmp
Apr 04 07:40:05 tmpfs              51200     412     50788   1% /var/log
Apr 04 07:40:05 tmpfs              51200       0     51200   0% /var/tmp
Apr 04 07:40:05 /dev/mmcblk0p1    258095   48782    209314  19% /boot
Apr 04 07:40:05 overlay         29765200 2524880  25998324   9% /var/lib/docker/overlay2/14dee76edfe59897588ce295c4b2be999a37047158110c58f1393f0e62305938/merged
Apr 04 07:40:05 shm                65536       0     65536   0% /var/lib/docker/containers/5ebf852b49e634ccaa709b3e4e8682f3ce083f9e8df7367775c99de41b9a4306/mounts/shm
Apr 04 07:40:05 tmpfs              99712       0     99712   0% /run/user/1000

pi@raspberrypi:~ $ docker exec -it 5ebf852b49e6 df | ts
Apr 04 07:40:58 Filesystem     1K-blocks    Used Available Use% Mounted on
Apr 04 07:40:58 overlay         29765200 2524880  25998324   9% /
Apr 04 07:40:58 tmpfs              65536       0     65536   0% /dev
Apr 04 07:40:58 tmpfs             498564       0    498564   0% /sys/fs/cgroup
Apr 04 07:40:58 /dev/root       29765200 2524880  25998324   9% /run/unifi
Apr 04 07:40:58 shm                65536       0     65536   0% /dev/shm
Apr 04 07:40:58 tmpfs              10240       0     10240   0% /var/log/unifi
Apr 04 07:40:58 tmpfs              10240    4372      5868  43% /usr/lib/unifi/logs
Apr 04 07:40:58 tmpfs             498564       0    498564   0% /proc/asound
Apr 04 07:40:58 tmpfs             498564       0    498564   0% /sys/firmware

 

Ket dolog nem hagy nyugodni:

1, Miert vannak ezek a processek az iotop-ban?

2, Mi tortenik ha a size limit-tel mount-olt tmpfs megtelik? (Az vilagos, hogy nem tud tobb logot kiirni a service, de lesz hiba? Lehal a rendszer, vagy minden megy tovabb?)

Hozzászólások

ha jol latom az iotop-ban akkor az egyes processek statjabol szummazza ossze a read/write ertekeket, ott meg nincs lebontva hogy milyen device.

ha megtelik a tmpfs akkor diskfull, szvsz ugyanaz mintha teli lesz a root. a programja valogatja ki hogy reagal ra.

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!