storaged Демон сбора и публикации метрик хранилища Тип файла: команда usage: storaged [OPTION] Комментарии В Android O добавлена поддержка storaged — собственного демона Android, который собирает и публикует метрики хранилища на устройствах Android. Для ежедневных diskstats storaged периодически анализирует /sys/block/mmcblk0/stat (устройства хранения данных eMMC) или /sys/block/sda/stat (устройства, отличные от eMMC). В течение срока службы eMMC storaged анализирует /d/mmc0/mmc0:001/ext_csd (если доступно). Для обвинения ввода-вывода приложения storaged периодически просматривает /proc/uid_io/stats и поддерживает проанализированные данные, которые включают данные из всех приложений (а не только запущенных приложений). dumpsys может вызвать storaged, чтобы зарегистрировать использование ввода-вывода приложения в отчете об ошибке. Информация о Diskstat (включая остановленную diskstat) и eMMC записывается в журнал событий Android, где служба проверки платформы собирает журналы. storaged операции происходят автоматически и полностью обрабатываются платформой Android, поэтому вам не нужно выполнять какую-либо работу по реализации. Эта страница описывает дизайн storaged (включая новые интерфейсы) и то, как его использовать для получения состояния ввода-вывода от ядра. Для гибкости учета и разрешений storaged реализован в виде модуля ядра, который возвращает информацию о вводе-выводе для каждого uid (вместо использования стандартного proc/PID/io ). Необработанные данные ввода-вывода для каждого запроса ввода-вывода продолжают храниться и обновляться в ядре task_struct, и ядро отслеживает, когда процесс завершается, чтобы не пропустить использование ввода-вывода, которое происходит из последнего storaged события опроса. Модуль считывает необработанные данные и обрабатывает их только тогда, когда инфраструктура уведомляет его о переключении uid переднего/фонового плана или когда демон storaged запрашивает отчет. В это время модуль экспортирует файловый узел из ядра для связи с фреймворком и демоном storaged. storaged представляет интерфейс /proc/uid_io/stats , который возвращает список статистики ввода-вывода для каждого UID в системе. Формат таблицы (столбцы): <uid>: <foreground read bytes> <foreground write bytes> <foreground read chars> <foreground write chars> <background read bytes> <background write bytes> <background read chars> <background write chars> байты чтения/записи — это события ввода-вывода с запоминающего устройства символы чтения/записи (байты) — это данные, запрашиваемые системными вызовами чтения/записи Чтобы получить дамп использования ввода-вывода из ядра, используется команда: storaged -u Формат вывода команды: name/uid fg_rchar fg_wchar fg_rbytes fg_wbytes bg_rchar bg_wchar bg_rbytes bg_wbytes fg_fsync bg_fsync Примечание. Этот вывод аналогичен выводу для proc/uid_io/stats . Это связано с тем, что storaged обрабатывает данные из /proc/uid_io/stats и генерирует свои собственные данные. Пример вывода: com.google.android.backuptransport 2269 60 0 0 1719845663 143912573 149065728 184180736 com.android.vending 2170 60 0 0 219904796 38693092 174436352 18944000 Пример (на ТВ-боксе с Андроид 12): 127|console:/ # storaged -u name/uid fg_rchar fg_wchar fg_rbytes fg_wbytes bg_rchar bg_wchar bg_rbytes bg_wbytes fg_fsync bg_fsync com.google.android.katniss 63 157 12288 0 7312776 225040 95752192 9359360 0 24 shared:com.google.uid.shared 1672124 11474 31375360 69632 122069778 7923257 36028416 17149952 2 378 com.ss.squarehome.key 26 187 53248 0 263498 697909 53248 18268160 0 1481 shared:com.google.android.apps.maps 801557 6434 77332480 16384 3795167 794120 7335936 1937408 1 83 com.google.android.tts 26 185 12288 0 1755052 880334 6967296 1257472 0 30 com.android.permissioncontroller 63 207 0 0 396757 4566 7139328 28672 0 2 shared:android.uid.shared 1119711 43814 5791744 372736 886015 36020 4276224 196608 12 10 com.android.inputmethod.latin 26 183 0 0 439464 18865 3174400 147456 0 5 com.android.statementservice 63 200 0 0 777737 154161 3018752 221184 0 5 com.softwinner.timerswitch 18 125 16384 0 238894 9382 2523136 81920 0 3 com.alphainventor.filemanager 63 191 0 0 658525 8690 2277376 61440 0 4 shared:android.uid.calendar 473502 17766 1253376 106496 2146018 393121 110592 1880064 7 8 shared:com.google.android.projection.gearhead 26 157 0 0 197158 1952 1482752 12288 0 1 com.android.settings.intelligence 63 157 0 0 659202 9208 1363968 12288 0 1 com.google.android.youtube.tv 17127857 4656799 3846144 8626176 1087474 46669 1212416 77824 564 6 com.android.providers.tv 675205 3023 737280 57344 717260 335381 475136 417792 1 6 android.ext.services 26 163 0 0 329954 2185 696320 12288 0 1 shared:android.uid.shell 246030 6565 1626112 0 197546 4834 528384 12288 0 1 com.android.packageinstaller 197264 335 2060288 0 52 659 221184 12288 0 1 com.android.externalstorage 18 157 16384 0 186453 3624 126976 12288 0 1 99001 12 157 0 0 65734 445 73728 0 0 0 com.android.music 147 471 0 0 196969 3161 24576 12288 0 1 com.android.tv 503028 20857 802816 139264 281 3371 0 24576 4 2 shared:android.media 690430 25835 8040448 172032 56 390 0 24576 9 1 com.android.managedprovisioning 197324 834 3338240 0 0 370 0 12288 0 1 com.android.onetimeinitializer 52371 983 73728 0 0 211 0 12288 0 1 com.ss.squarehome2 5082940 33810242 19959808 36864 29032 14551 0 0 1 0 shared:android.uid.system 1373019135 13770404 1351311360 12873728 0 0 0 0 418 0 0 91110331 28614538 152207360 38903808 0 0 0 0 30 0 1036 24389581 124458448 24358912 72400896 0 0 0 0 0 0 shared:android.uid.systemui 534710 238525 23859200 61440 0 0 0 0 2 0 1041 433164 73844 14172160 0 0 0 0 0 0 0 com.android.providers.media.module 26950997 31230864 13109248 921600 0 0 0 0 5 0 50093 6325932 85012 0 11960320 0 0 0 0 11 0 1046 270412 15786599 10366976 0 0 0 0 0 0 0 1013 2474482 69646 10285056 0 0 0 0 0 0 0 1047 422074 2459 9302016 0 0 0 0 0 0 0 50092 1984507 9738 7667712 1052672 0 0 0 0 11 0 shared:android.uid.phone 163121 4521 8364032 0 0 0 0 0 0 0 shared:android.uid.bluetooth 210209432 398359439 7372800 401408 0 0 0 0 25 0 com.android.traceur 198581 1079 5627904 12288 0 0 0 0 1 0 1017 263355 2680 5070848 0 0 0 0 0 0 0 1010 311119 932 4067328 0 0 0 0 0 0 0 1003 387972 40254 4063232 0 0 0 0 0 0 0 shared:android.uid.networkstack 1125670 82622 3526656 77824 0 0 0 0 2 0 1040 302410 8991 3592192 0 0 0 0 0 0 0 1053 267457 902 2572288 0 0 0 0 0 0 0 9999 655153 3779 1941504 0 0 0 0 0 0 0 1067 640568 125740 1548288 0 0 0 0 0 0 0 1072 155275 298 839680 0 0 0 0 0 0 0 1066 35346 417 790528 16384 0 0 0 0 0 0 1019 156132 44 708608 0 0 0 0 0 0 0 1020 5316 0 696320 0 0 0 0 0 0 0 50083 49380 81 593920 0 0 0 0 0 0 0 1023 154217 0 376832 0 0 0 0 0 0 0 1076 155257 48 360448 0 0 0 0 0 0 0 1058 152661 62 307200 0 0 0 0 0 0 0 shared:android.uid.se 197316 1627 237568 12288 0 0 0 0 1 0 1069 2247390 5658 57344 0 0 0 0 0 0 0 com.joeykrim.rootcheck 0 0 24576 0 0 0 0 0 0 0 com.android.vending 0 146 20480 0 0 0 0 0 0 0 |