Ru-Board.club
← Вернуться в раздел «Программы»

» 7-Zip / 7z

Автор: egor23
Дата сообщения: 07.12.2008 03:45
NazarK

Цитата:
Попробовал. Не помогло.
Вот результаты запуска memo.exe

По этим данным, косвенно, можно сказать, что с консольной версии 7-zip проблем не должно быть, проверьте:
7z a -t7z archive.7z file.txt -m0=PPMd:mem=1300m
mem можно выставить до 1800m - 1900m (точных пределов не скажу)
Кстати какая версия 7-zip?

Для GUI-версии посмотрите какие dll подцепились, например в Process Explorer, если есть сложности сделайте скрин Process Explorer и киньте сюды, про столбцы Base и Image Base не забудьте, сортировка по столбцу Base.

Ключ /3GB даёт дополнително блок до 1023МБ, так что лучше разобраться с тем, что крамсает адресное пространство процесса, больше пользы будет.


Цитата:
Попробовал. Не помогло.

не помогло совсем, или Вы пробывали только использовать словарь в 1024МБ?
если до использования /3GB 1024МБ не работало, то и с /3GB работать не будет, ставьте меньше.
с 768МБ тоже не работало?

Victor_VG

Цитата:
А опция /3GB в boot.ini работает только для систем имеющих не менее 4 Гб физического ОЗУ

1. К объёму физического ОЗУ данная опция не имеет привязки, её имеет смысл использовать (так её позиционируют) с ОЗУ более 2ГБ, но это никто не мешает использовать с меньшим объёмом ОЗУ.
2. Невнимательны - выше картинки memo.exe, где всё написано и показано.


Цитата:
Всё это чисто "железные" явления

Железо- железом, а какое это имеет отношение к адресному пространсту виртуальной памяти конкретного процесса в Windows?
Если подскажите ссылочку или страничку в книжке, где об этом можно почитать, буду признателен.
Но в данном конкретном случае проблем с размером виртуальной памяти нет - 3071МБ (при использовании /3GB).
А вот физической памяти как раз GPU и отрезал 256МБ, т.к. доступно 1791МБ.
Автор: Victor_VG
Дата сообщения: 07.12.2008 06:20
egor23

Друг мой Вы ошибаетесь в одном: "позиционирование" на серверах "мальчиков"и описание в документации:

Цитата:
How to Set the /3GB Startup Switch in Windows

Topic Last Modified: 2006-04-19

Windows Server 2003 includes support for a startup switch that lets you tune the allocation of use of memory and memory address space. Regardless of the amount of physical memory in your system, Windows uses a virtual address space of 4 GB, with 2 GB allocated to user-mode processes (for example, applications) and 2 GB allocated to kernel-mode processes (for example, the operating system and kernel-mode drivers). On systems that have 1 GB or more of physical memory, these two startup switches can be used to allocate more memory to applications (3 GB) and less memory to the operating system (1 GB). This additional virtual address space helps reduce the amount of memory fragmentation in the virtual address space of the Exchange information store process.

Этот документ прочтите обязательно, а книжка называется просто "ЭВМ. Структуры, сети и системы." Специальность 0608" это до 1990 года, а сегодня код специальности 220100 “Вычислительные машины, комплексы, системы и сети” и плюс как минимум лет 10 работы инженером - причина очень проста - вендоры специально скрывают особенности чипсетов и плат, даже в документации. Потому нужен опыт чтобы восстановить то что они специально искажают в документах, плюс лабораторная проверка. Потом многие вещи уже чувствуешь интуитивно и на вопрос говоришь "Ребята, если сделаем так - работать не будет, надо сделать так - будет работать". Иногда объяснить почему именно так не сможешь - интуиция. А как и что её вызывает - наш мозг до сих пор во многом для нас загадка. Но, что касается литературы - постараюсь помочь подобрать, если закручусь - напомните мне в ПМ. Хорошо?
Автор: egor23
Дата сообщения: 07.12.2008 06:37
Victor_VG

Цитата:
Этот документ прочтите обязательно

Ну вот и прочитайте его сами или сложности с переводом?

1. Regardless of the amount of physical memory in your system.
Автор: Nep
Дата сообщения: 07.12.2008 10:42
egor23
euheny
NazarK
Victor_VG
Автор: NazarK
Дата сообщения: 07.12.2008 16:06
egor23

Цитата:
По этим данным, косвенно, можно сказать, что с консольной версии 7-zip проблем не должно быть, проверьте:
7z a -t7z archive.7z file.txt -m0=PPMd:mem=1300m
mem можно выставить до 1800m - 1900m (точных пределов не скажу)

Попробовал в точности вашу строку. Поменял только file.txt.
Сработало отлично. Я даже обрадовался...

Цитата:
Кстати какая версия 7-zip?

7-zip v4.62. Но я её недавно поставил. Раньше было 4.57. Те же проблемы были и с ней.

Цитата:
не помогло совсем, или Вы пробывали только использовать словарь в 1024МБ?
если до использования /3GB 1024МБ не работало, то и с /3GB работать не будет, ставьте меньше.
с 768МБ тоже не работало?

Пробовал и с 768 (сначала) и с 1024 (потом). Не работало ни то ни другое.

Цитата:
Для GUI-версии посмотрите какие dll подцепились, например в Process Explorer, если есть сложности сделайте скрин Process Explorer и киньте сюды, про столбцы Base и Image Base не забудьте, сортировка по столбцу Base.

Сейчас попробуем. Результаты дам в скриншоте...

Вообще-то, спасибо большое egor23, очень дельные советы, и по существу проблемы. Не удивляюсь, что именно Вы написали тот обзор.

Victor_VG

А вот Ваши посты не столь по делу. И отличия 8100/8200/8300 Вы неверно объясняете. Графический движок и основной функционал чипсета 8100 ничем не отличается от 8200. Разница в поддержке аппаратного декодирования видео, которое мне совершенно не нужно. Я не зря купил именно эту плату, подбирал оптимальное соотношение цены и действительно нужных возможностей. Детали см. http://www.ixbt.com/mainboard/nvidia-nforce-700a-chipsets.shtml . Не будучи чересчур "крутым" специалистом, я всё-таки склонен думать, что для работы 7-zip все чипсеты серии (т.е. 8100/8200/8300) будут фактически одинаковы...

Nep
Спасибо за напоминание. Возвращаемся к теме.

Добавлено:
Вот скриншот:

Это снято когда открыт диалог GUI на архивацию в режиме PPMd Ultra Dictionary Size 768 Mb. Когда я нажимаю OK, 7z.dll (которая выделена серым) становится красной и исчезает. А мне выдаётся сообщение "The system cannot allocate the required amount of memory"... Что дальше делать?
Автор: egor23
Дата сообщения: 07.12.2008 17:57
NazarK

Цитата:
Это снято когда открыт диалог GUI

LvHook.dll - режет основной блок.

7z.dll - 0x10000000 (256МБ)
LvHook.dll - 0x3AA00000 (938МБ)
uxtheme.dll - 0x5AD70000 (1453МБ)
938-256=682
1453-938=515
т.е. имеем блоки 682МБ и 515МБ.
без LvHook.dll будет блок в 1197МБ (1453-256=1197)
разбирайтесь с Lingvo, наверно её агент цепляет.


Цитата:
Пробовал и с 768 (сначала) и с 1024 (потом). Не работало ни то ни другое.

странно с 768МБ должен был работать с /3GB и пропатченым 7zG.exe, проверьте ещё раз, до разбирательств с Lingvo.
Автор: NazarK
Дата сообщения: 07.12.2008 18:22
egor23

Цитата:
разбирайтесь с Lingvo, наверно её агент цепляет

Выгрузил LvAgent.exe, заработало и с 768, и с 1024. Ура!!!

Цитата:
странно с 768МБ должен был работать с /3GB и пропатченым 7zG.exe, проверьте ещё раз, до разбирательств с Lingvo

Вы совершенно правы. Я сначала пробовал 4gb_patch – не заработало, потом вернул оригинальные файлы из backups, а только потом уже пробовал по Вашему совету /3GB. Теперь попробовал всё в комплексе (сначала 4gb_patch, потом перезагрузка с /3GB), и, как Вы и предсказали, 768 отлично заработало, даже вместе с LvAgent.exe. 1024 не заработало.
Мастер!
В общем, большое спасибо, я для себя всё решил, и многому научился. Выгрузить LvAgent не проблема.
Остаётся ещё один интересный теоретический вопрос:
На старой плате у меня всё работало на 1024 Мб даже с LvAgent.exe (я часто пользуюсь Lingvo, потому он постоянно в Tray), и без всяких патчей и /3GB. Как же так?
Автор: egor23
Дата сообщения: 07.12.2008 19:32
NazarK

Цитата:
На старой плате у меня всё работало на 1024 Мб даже с LvAgent.exe (я часто пользуюсь Lingvo, потому он постоянно в Tray), и без всяких патчей и /3GB. Как же так?

или LvHook.dll не цеплялась к 7-Zip, или была другая LvHook.dll у которой другой стартовый адрес:

LvHook.dll v11\v10 - Image base 20000000h (512МБ)
LvHook.dll v12\vx3 - Image base 3AA00000h (938МБ)
Автор: NazarK
Дата сообщения: 07.12.2008 20:29

Цитата:
или LvHook.dll не цеплялась к 7-Zip, или была другая LvHook.dll у которой другой стартовый адрес:

Скорее первое, так как v11/v10 я уже очень давно не пользуюсь.
Спасибо ещё раз
Victor_VG
euheny
Ну и Вам тоже, за участие в дискуссии

Добавлено:
Вот ещё вопрос к специалистам. Меня давно волнует, смогут ли программы архиваторы (как 7-zip, а также другие) существенно увеличить свою производительность/эффективность/скорость используя nVidia CUDA? И если да, то почему до сих пор не слышно даже о каких-либо попытках в этом направлении?
Автор: Victor_VG
Дата сообщения: 07.12.2008 23:23
NazarK

Насколько я понял из её описания нет. Это только технология декодирования MPEG2.
Автор: sabio
Дата сообщения: 08.12.2008 00:16
Victor_VG
неверно поняли
это фреймворк, позволяющий задействовать вычислительные ресурсы видео-карты для распараллеливаемых вычислений
например, ElcomSoft уже заявила о поддержке этой технологии при использовании brute force атак на крипто-системы
Автор: Benchmark
Дата сообщения: 08.12.2008 00:19
sabio

Цитата:
это фреймворк, позволяющий задействовать вычислительные ресурсы видео-карты для распараллеливаемых вычислений

Ну и много ли сейчас реализаций алгоритмов компрессии, поддерживающих распараллеленные вычисления ?
Автор: sabio
Дата сообщения: 08.12.2008 00:36
Benchmark
а я ведь этого и не утверждал
просто уточнил, что nVidia CUDA не только для "декодирования MPEG2"

а вообще, если говорить о не-solid сжатии, то отдельные файлы вполне можно было бы "параллелить"
и получить таким образом пусть и не самое сильное, но мега-скоростное сжатие

да и при solid можно данные резать на (достаточно большие) блоки и архивировать каждый из них параллельно
в общем, было бы желание у разработчиков
Автор: Victor_VG
Дата сообщения: 08.12.2008 01:47
Возможно, но мне кажется, что это более на рекламный ход похоже. Хотя можно попытаться реализовать псевдо-транспьтерный алгоритм. Но, насколько эффективно? Пока я не могу понять как и насколько это реально.
Автор: NazarK
Дата сообщения: 08.12.2008 13:58
Я знаю, что архиваторы очень эффективно увеличивают скорость/результативность работы с ростом числа ядер CPU, как мало какая другая программа. Следовательно, использование CUDA могло бы увеличить их производительность в разы, если не в десятки раз. Может я не учитываю каких-то ограничительных факторов, извиняйте, не спец...
http://www.nvidia.com/object/cuda_home.html
Автор: Gideon Vi
Дата сообщения: 08.12.2008 14:57

Цитата:
Я знаю, что архиваторы очень эффективно увеличивают скорость/результативность работы с ростом числа ядер CPU

CPU - да, GPU - нет
Автор: NazarK
Дата сообщения: 08.12.2008 14:57
Кажется обнаружил, почему Lingvo Agent раньше не мешал, а теперь начал мешать. Это зависит от активации режима открывания карточки по наведению мыши и нажатию определённой комбинации клавиш. Если карточка открывается только с самой оболочки, Lingvo Agent не мешает 7-zip.

Добавлено:
Gideon Vi

Цитата:
и на чём же основано это "знание"?

На сравнительных тестах процессоров с одинаковой частотой/архитектурой и разным количеством ядер.
См. сравнительные обзоры на http://www.ixbt.com/ и http://overclockers.ru/ .
Можете даже сами легко проверить. Возьмите 7-zip или WinRAR и отключите режим Multithreading в Benchmark. Если у Вас процессор имеет 2 или больше ядра, Вы очень чётко заметите разницу производительности. Большинство программ (за исключением специально оптимизированных под многопоточность) не даёт и четвёртой части этого выигрыша при увеличении количества ядер.
Спасибо.
Автор: Gideon Vi
Дата сообщения: 08.12.2008 15:37
NazarK, я невнимательно прочитал Ваш пост, увидев вместо CPU, GPU
Автор: Victor_VG
Дата сообщения: 08.12.2008 16:46
NazarK

Так то ж большая разница, как говорят в Одессе. В GPU используются специализированные вычислители, а в транспьютерах - универсальные максимально простые вычислители с собственной локальной памятью и высокоскоростными каналами связи и ввода-вывода. И именно за счёт распараллеливания задач они дают значительное сокращение времени их обработки. В итоге время решения большинства задач сокращается в десятки, а иногда и в сотни раз. Но операционная система работает с матрицей транспьютеров как с единым вычислительным узлом, а распределение нагрузки производит сама аппаратура. Это решение применялось ещё в 60-е - 70-е годы. Массово они использовались с конца 70-х (из отечественных систем - "Эльбрус-2" построенный на основе транспьютерных ускорителей). Но это вопрос по теории вычислительных систем, не программный.
Автор: NazarK
Дата сообщения: 08.12.2008 17:39

Цитата:
универсальные максимально простые вычислители с собственной локальной памятью и высокоскоростными каналами связи и ввода-вывода

Именно так и выглядит структура GPU. Читайте теорию Обратите внимание на появление Universal Shaders в последних поколениях GPU...
http://www.ixbt.com/video2/spravka-gt2xx.shtml
http://www.ixbt.com/video2/spravka-r7xx.shtml
Автор: sv9205
Дата сообщения: 08.12.2008 19:02
Скажите, а почему очень часто иконка файла архива родная от 7z ,
а рядом в папке могут лежать такие архивы, но иконка от DOS.
Это Винда хромает, да?

Иконку в 7-Zip SFX менять нужно этим? - Графическая оболочка для 7-Zip SFX Tools 0.6.0.1 (342 КБ, 01.05.2007)
Автор: NazarK
Дата сообщения: 09.12.2008 14:08
Работу по задействованию возможностей GPU для увеличения эффективности архивации ведёт автор WinRK ( http://www.msoftware.biz/blog/2008/08/winrk-progress-and-new-codecs ). Учитывая очень высокую возможную степень компрессии этого архиватора, использование которой омрачает лишь слишком большое время компрессии, можно ожидать весьма интересных результатов, если GPU действительно позволит ускорить работу в те десятки раз, которые упоминаются в материалах промоции...
Автор: Victor_VG
Дата сообщения: 09.12.2008 20:00
sv9205

В любом редакторе ресурсов достаточно заменить иконку в SFX модуле.
Автор: igor_andreev
Дата сообщения: 10.12.2008 10:49
Подскажите, каким макаром лишняя пара скобок в RunProgram изменяет запускаемому батнику %~dp0(папку, где находится батник)? Соответственно и последующие команды будут неправильны, потому как стартовая директория не определена верно. Вот test7zs.zip (130Kb) Тому же WinRAR-у глубоко по барабану, сколько я скобок наставлю вокруг запускаемого файла в sfx. Это баг?
Автор: sabio
Дата сообщения: 10.12.2008 12:19
igor_andreev
во-первых, не "скобки", а "кавычки"
во-вторых, как я понимаю, поскольку саму RunProgram нужно заключать в кавычки, то внутри нее, кавычки должны дублироваться

а теперь, если разобрать: "cmd.exe /d /c """%%T\test.cmd""""
- первая кавычка = начало RunProgram
- следующие две кавычки = одна кавычка _внутри_ RunProgram
- следующая кавычка = конец RunProgram!
ну а дальше батник уже будет запускаться, как получится (например, если в пути к нему есть пробелы, то это вообще будет интерпретироваться, как две команды)

в общем, что тут возмущаться? надо просто делать правильно (не писать лишних кавычек) да и все..
и WinRAR тут не аргумент - это _разные_ программы, и ничего удивительного, что логика работы у них разная
Автор: Bulat_Ziganshin
Дата сообщения: 10.12.2008 12:45
насчёт winrk - читвйте внимательней. Малькольм пишет, что работает над заказным проектом, не имеющим ничего общего с winrk. и далее:

I would like to clarify the GPGPU work is for a client and doesn’t affect WinRK. Lossless data compression is for the most part inherently serial, and so the massively parallel GPUs cannot provide any assistance. WinRK is already a pioneer in using multiple CPUs, but as yet GPUs are not suitable to provide any acceleration.

I can see a time (maybe when Intel Larrabee is launched), when GPUs could have some impact on BWT (sorting) and maybe even PAQ algorithms (run all models in parallel). Other than that, I expect multiple CPUs to provide much better performance opportunities. For example, see the BWT codec mentioned above…

Добавлено:
>Архиватор 7-Zip и LZMA SDK (начиная с версии 4.61 Beta) распространяется бесплатно под лицензией GNU LGPL.

они *всегда* распространялись од этой лицензией, а начиная с 4.61 lzma стал public domain

Добавлено:
доку по cuda надо читать не на железячных сайтах, а на http://www.nvidia.com/object/cuda_develop.html

и если прочесть внимательно, то все обещания обламываются об очень простую вещь - из 240 "процессоров" даже в gt280, каждый 8 исполняют общую программу. т.е. это некий аналог sse. если у вас есть куча данных, над которыми надо проделать *одинаковые* операции (как в рендеринге или матричных вычислениях), то вы легко можете получить проихводительность в 100 раз большую, чем у cpu. если же нет - у вас фактчисеки всего 32 ядра, причём с частотой в 2.5 раза ниже чем у nehalem с его 8 одновременно исполняемыми тредами. причём нехалем исполняет до 4 команд за один такт. вот и считайте. и это ещё не учитывая все сложности с его программированием
Автор: igor_andreev
Дата сообщения: 10.12.2008 14:17
sabio

Цитата:
во-первых, не "скобки", а "кавычки"

Ну да, не так символ назвал

Цитата:
- первая кавычка = начало RunProgram
- следующие две кавычки = одна кавычка _внутри_ RunProgram
- следующая кавычка = конец!


Цитата:
в общем, что тут возмущаться? надо просто делать правильно

Да я не возмущаюсь, абсолютно согласен, писать надо правильно, сразу и понял, что малость не то сделал и исправил. Случайно лишнюю пару кавычек влепил и удивился, что чушь из батника полезла.

А как правильно и с какими параметрами запускать - это вообще то только я решать должен, а не sfx-модуль. Может у моего запускаемого приложения такая хитрозавернутая командная строка и мне надо вот передать ему в качестве параметра энное четное или нечетное количество кавычек. RunProgram по идее должно молча взять и выполнить то, что ему дали между первой и последней кавычкой в строке, без самодеятельности. Склоняюсь к мысли, что все таки это баг или недоработка.


Автор: NazarK
Дата сообщения: 10.12.2008 15:45
Bulat_Ziganshin
Спасибо, Вы действительно несколько прояснили положение для меня. Извиняйте, читал материал по WinRK в самом деле очень бегло... Но шансы таки есть
Автор: euheny
Дата сообщения: 11.12.2008 01:50
А с какими параметрами 7зип пакует максимально быстро?
Автор: Sish
Дата сообщения: 11.12.2008 07:36
euheny
Как вариант:



Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Longhorn и Blackcomb


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.