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?)