Почему Linux имеет плохой ресурс аккумулятора по умолчанию по сравнению с Windows?

Этот простой сценарий работает, только если эти три каталога не содержат подкаталогов (более сложный рекурсивный алгоритм потребовался бы, чтобы обрабатывать тот случай).

Ответ колдуна хорош, но преимущество сценария как это по остроте Колдуна состоит в том, что при помощи xargs мы не разветвляем экземпляр CP для каждого файла, который мы копируем. Мы только разветвляемся, один экземпляр CP в течение каждого раза xargs генерирует командную строку, которая заполняет предел длины командной строки оболочки. Это имеет тенденцию быть огромным в современных системах, таким образом, довольно вероятно, что мы только выполнили один экземпляр общего количества CP, даже для сотен или возможно тысяч файлов в истории /

#! /bin/sh

# use tempfile(1) if available, otherwise use:
# EXCLUDEFILE="/tmp/excl.$$"
EXCLUDEFILE=$(tempfile -p excl)

# generate an exclude file, changing backup/ to history/    
find  backup/ -type f | sed -e 's:^backup/:history/:' > "$EXCLUDEFILE"

find history/ -type f -print0 | \
  grep -z -Z -F -v -x -f "$EXCLUDEFILE" | \
  xargs -0r -i{} cp {} inbox/

rm "$EXCLUDEFILE"

К вашему сведению подробная форма grep опций, используемых здесь:

grep --null-data --null --fixed-strings --invert-match \
      --line-regexp --file "$EXCLUDEFILE"

и еще более компактная форма:

grep -zZFvxf "$EXCLUDEFILE"

Большинство опций является наиболее часто используемым или очевидным, но три может потребовать некоторого объяснения:

-z или --null-data говорит grep ожидать завершенный пустым указателем вход (от find -print0)
-Z или --null говорит grep производить пустые нагруженные линии (для передачи по каналу в xargs -0)
-x или --line-regexp говорит grep соответствовать только на целых сплошных линиях

25
16.03.2014, 01:55
2 ответа
[118142]Современный компьютер содержит сотни частей, которые можно включать и выключать или синхронизировать быстрее или медленнее независимо друг от друга. Детализация меньше видимых чипов, меньше даже ядер. Большая часть энергосбережения состоит из включения и выключения деталей в оптимальное время. Каждая деталь должна быть выключена, когда она не используется, но только в том случае, если она будет оставаться неиспользованной достаточно долго, чтобы это стоило того (когда деталь перезагружается, ей требуется некоторое время и, следовательно, некоторое количество энергии для перезагрузки и восстановления ее старого состояния).[12144]Таким образом, для хорошего управления питанием требуются хорошо написанные драйверы. Производители аппаратного обеспечения очень осторожны в том, чтобы раздавать подробности о своем аппаратном обеспечении людям, которые пишут драйверы. Даже люди, которые пишут драйверы с закрытым исходным кодом по соглашению о неразглашении, часто не имеют подробной документации - а люди, которые пишут драйверы с открытым исходным кодом для операционной системы, которая не так уж и важна производителю, имеют ее гораздо хуже.[12145]Так что на ПК Linux начинает работать в невыгодном положении не по техническим причинам, а по социальным.[12146]Linux используется во многих встраиваемых устройствах и устройствах более высокого уровня, которые работают на батареях. Ядро очень важно для работы от батареи; большинство смартфонов работают под управлением Android, который основан на ядре Linux.[12147]Для экономии заряда батареи убедитесь, что не запускается "экранная заставка" (идите за обычным черным экраном), и держитесь подальше от 3D эффектов (которые напрягают графический процессор). Не храните веб-страницы с интенсивной анимацией на CPU и другими эффектами (в Chrome хорошо видно потребление CPU на каждый таб). Включите масштабирование частоты процессора, не подключаясь к электросети; это сделает ваш компьютер медленнее, замедлив работу основного CPU, что позволит сэкономить электроэнергию. Запустите [118531] Powertop[118532], чтобы посмотреть, куда подается питание, учитывая то, как вы используете компьютер.[118151].
32
27.01.2020, 19:40

Другая возможность заключается в том, что если вы привыкли уходить от ноутбука с закрытой крышкой, у вас может не получиться настроить linux на сон, или на то, чтобы заснуть за достаточно короткий промежуток времени. Я не беспокоюсь об этом (я просто опустил крышку), так что я не могу сказать вам, как это исправить (задайте более конкретный вопрос, если вы думаете, что это проблема). Windows, OTOH, кажется, засыпает довольно быстро по умолчанию[118119].

7
27.01.2020, 19:40

Теги

Похожие вопросы