pyinotify--장치에 남은 공간이 없습니다

pyinotify--장치에 남은 공간이 없습니다

아나콘다 3.7/우분투 18.10

pyinotify를 사용하여 시계를 설정할 때 이 오류가 발생합니다. 이것은 내가 시도하는 모든 디렉토리에서 발생합니다.

이것은 pcloud를 설치한 후에 시작되었지만 pcloud는 이 디렉토리를 건드리지 않았습니다.

 pyinotify ERROR] add_watch: cannot watch 
/home/stephen/<watchtarget> WD=-1, Errno=No space left on 
device (ENOSPC)

df -h설치가 거의 완료되지 않았음을 표시합니다.

 Filesystem      Size  Used Avail Use% Mounted on
 udev            7.8G     0  7.8G   0% /dev
 tmpfs           1.6G  1.6M  1.6G   1% /run
 /dev/sda2       219G  113G   95G  55% /
 tmpfs           7.8G   40M  7.8G   1% /dev/shm
 tmpfs           5.0M  4.0K  5.0M   1% /run/lock
 tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
 /dev/sda1       511M  7.3M  504M   2% /boot/efi
 /dev/sdd1       458G   87G  348G  20% /mnt/usb500
 /dev/sdb1       1.8T  144G  1.6T   9% /mnt/usb2T
 /dev/sdc1       293G  132G  147G  48% /mnt/usb250
 tmpfs           1.6G   52K  1.6G   1% /run/user/1000
 pCloud.fs       2.0T  106G  1.9T   6% /home/stephen/pCloudDrive

df -i의견에서 요청한 대로 출력합니다.

Filesystem        Inodes  IUsed     IFree IUse% Mounted on
udev             2029639    583   2029056    1% /dev
tmpfs            2037540    965   2036575    1% /run
/dev/sda2       14622720 537713  14085007    4% /
tmpfs            2037540    211   2037329    1% /dev/shm
tmpfs            2037540      5   2037535    1% /run/lock
tmpfs            2037540     18   2037522    1% /sys/fs/cgroup
/dev/sda1              0      0         0     - /boot/efi
/dev/sdd1       30531584  84224  30447360    1% /mnt/usb500
/dev/sdb1      122101760 205683 121896077    1% /mnt/usb2T
/dev/sdc1       19537920    547  19537373    1% /mnt/usb250
tmpfs            2037540     35   2037505    1% /run/user/1000
pCloud.fs              0      0         0     - /home/stephen/pCloudDrive

허용되는 최대 시계 수:

sysctl -n fs.inotify.max_user_watches
8192

pgrep -f notify시계는 하나만 표시됩니다.

답변1

이번 호의 두 가지 요점은 순전히 실험과 관찰에 기초합니다. 이것은아니요pCloud 코드에 대한 친숙함 또는 pCloud 문서의 광범위한 탐색을 기반으로 하지만 다음과 같습니다.

  1. pCloud는 inotify를 지원하지 않습니다(pyinotify는 Linux inotify 애플리케이션의 래퍼입니다). 이 경우 알림 프로세스의 대상 디렉터리가 pCloudDrive에 저장되었습니다.

  2. 행동은 보여줍니다pCloud는 한때 드라이브에 포함되었던 파일에 대한 참조를 유지하며 이러한 파일을 비우려면 모든 pCloud 프로세스를 종료해야 합니다. pCloud는 시스템 재설정을 통해 참조를 유지하므로 다시 시작해도 아무런 효과가 없습니다.

모든 pCloud 프로세스를 종료해야 했고, 완전한 정리를 위해서는 루트 계정의 개입이 필요했습니다. pCloud 프로세스는 pcloudpCloud(다른 경우) 로 실행됩니다.

따라서 다음을 사용하십시오.

pgrep -fi pcloud | xargs kill 

pCloud 프로세스가 지워지면 시계를 시작할 수 있습니다. 그런 다음 pCloud를 다시 시작할 수 있지만 해당 참조는 복원되지 않습니다.

관련 정보