Bitcoin Forum
December 05, 2016, 08:39:34 AM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: « 1 ... 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 [227] 228 229 230 231 232 »
  Print  
Author Topic: Armory - Discussion Thread  (Read 481824 times)
STRML
Newbie
*
Offline Offline

Activity: 17

CTO - BitMEX


View Profile WWW
May 25, 2015, 04:53:13 PM
 #4521

Anything to be done about armoryd's crazy memory usage? I'm seeing 41GB virt and about 6GB residual. It's causing other processes to start swapping. It is done scanning blocks, this is persistent memory usage. In comparison, bitcoind only uses about 55MB residual.

Restarting the process causes the memory to go down, but then armoryd starts eating up CPU and filling up again. It continually is using the lion's share of resources on the system.

When a program (such as Armory) reads a file, the file is copied into memory.  As soon as Armory is done using the file, the memory is marked as available for other programs, but until another program claims the memory, you still see it as assigned to Armory because the kernel assumes that there is a chance that Armory will open that file again, and Armory's data is still there.

All modern operating systems do this, so it always look like there is very little RAM free.  I do not know about Windows, but on Linux the kernel still keeps track of that memory after Armory quits, in case some other program happens to want the same file.  As soon as the memory is needed for something else, it is wiped and assigned to that something else.


I don't think this is exactly true in Armory's case. We have attempted to jail Armory using cgroups but during database rebuilds it fails if the memory restrictions are too stringent (<2GB in my testing). Additionally, if there is swap on the system, it appears the system will use the swap before asking Armory to relinquish any of its used memory, causing other processes on the system to hang waiting for I/O.
1480927174
Hero Member
*
Offline Offline

Posts: 1480927174

View Profile Personal Message (Offline)

Ignore
1480927174
Reply with quote  #2

1480927174
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1480927174
Hero Member
*
Offline Offline

Posts: 1480927174

View Profile Personal Message (Offline)

Ignore
1480927174
Reply with quote  #2

1480927174
Report to moderator
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 1316

Armory Developer


View Profile
May 25, 2015, 06:03:38 PM
 #4522

I don't think this is exactly true in Armory's case. We have attempted to jail Armory using cgroups but during database rebuilds it fails if the memory restrictions are too stringent (<2GB in my testing). Additionally, if there is swap on the system, it appears the system will use the swap before asking Armory to relinquish any of its used memory, causing other processes on the system to hang waiting for I/O.

Both are obvious symptoms. If Armory is aggressively asking for memory it will take priority over processes in the background or that aren't requesting as much I/O. That's basic OS optimization.

As for memory requirements, Armory expects to have about 2~4GB of RAM at its disposal for it's own scanning needs. The rest is mmap'ed files requested by LMDB. That's controlled by a hardcoded value and will probably be dynamically assigned in the upcoming version.

btcarmory.com
Exdeath
Hero Member
*****
Offline Offline

Activity: 546


Upiter


View Profile WWW
May 28, 2015, 10:40:20 PM
 #4523

Hi, Why Armory doesn't work correctly Sad ?
Code:
$ armory
/usr/lib/armory/armoryengine/Transaction.py:2675: SyntaxWarning: import * only allowed at module level
  def PyCreateAndSignTx_old(srcTxOuts, dstAddrsVals):
(WARNING) ArmoryQt.py:2815 - ***WARNING: Duplicate wallet detected, hub1za1u
(WARNING) ArmoryQt.py:2825 - Second wallet is more useful than the first one...
(WARNING) ArmoryQt.py:2826 -      Wallet 1 (skipped): /home/exdeath/.armory/armory_hub1za1u__.wallet
(WARNING) ArmoryQt.py:2827 -      Wallet 2 (loaded):  /home/exdeath/.armory/armory_hub1za1u_WatchOnly.wallet
"sni-qt/3436" WARN  04:33:15.586 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE
(WARNING) SDM.py:768 - Overriding not-available state. This should happen 0-5 times
(WARNING) SDM.py:768 - Overriding not-available state. This should happen 0-5 times
(WARNING) SDM.py:768 - Overriding not-available state. This should happen 0-5 times
(ERROR) ArmoryQt.py:1323 - 4 attempts to load blockchain failed.  Remove mempool.bin.
(ERROR) ArmoryQt.py:1328 - File mempool.bin does not exist. Nothing deleted.
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 7068, in method_signal
    method()
  File "/usr/lib/armory/ArmoryQt.py", line 2485, in proceedOnceBitcoindIsReady
    self.loadBlockchainIfNecessary()
  File "/usr/lib/armory/ArmoryQt.py", line 2537, in loadBlockchainIfNecessary
    TheBDM.goOnline()
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 251, in goOnline
    self.bdmThread.setConfig(self.bdmConfig())
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 339, in bdmConfig
    bdmConfig.blkFileLocation = blockdir
  File "/usr/lib/armory/CppBlockUtils.py", line 2101, in <lambda>
    __setattr__ = lambda self, name, value: _swig_setattr(self, BlockDataManagerConfig, name, value)
  File "/usr/lib/armory/CppBlockUtils.py", line 45, in _swig_setattr
    return _swig_setattr_nondynamic(self,class_type,name,value,0)
  File "/usr/lib/armory/CppBlockUtils.py", line 38, in _swig_setattr_nondynamic
    if method: return method(self,value)
TypeError: in method 'BlockDataManagerConfig_blkFileLocation_set', argument 2 of type 'string const &'

Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 7068, in method_signal
    method()  
  File "/usr/lib/armory/ArmoryQt.py", line 2485, in proceedOnceBitcoindIsReady
    self.loadBlockchainIfNecessary()
  File "/usr/lib/armory/ArmoryQt.py", line 2537, in loadBlockchainIfNecessary
    TheBDM.goOnline()          
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 251, in goOnline
    self.bdmThread.setConfig(self.bdmConfig())
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 339, in bdmConfig
    bdmConfig.blkFileLocation = blockdir
  File "/usr/lib/armory/CppBlockUtils.py", line 2101, in <lambda>
    __setattr__ = lambda self, name, value: _swig_setattr(self, BlockDataManagerConfig, name, value)
  File "/usr/lib/armory/CppBlockUtils.py", line 45, in _swig_setattr
    return _swig_setattr_nondynamic(self,class_type,name,value,0)
  File "/usr/lib/armory/CppBlockUtils.py", line 38, in _swig_setattr_nondynamic
    if method: return method(self,value)
TypeError: in method 'BlockDataManagerConfig_blkFileLocation_set', argument 2 of type 'string const &'
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 4351, in executeModeSwitch
    TheBDM.goOnline()
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 251, in goOnline
    self.bdmThread.setConfig(self.bdmConfig())
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 339, in bdmConfig
    bdmConfig.blkFileLocation = blockdir
  File "/usr/lib/armory/CppBlockUtils.py", line 2101, in <lambda>
    __setattr__ = lambda self, name, value: _swig_setattr(self, BlockDataManagerConfig, name, value)
  File "/usr/lib/armory/CppBlockUtils.py", line 45, in _swig_setattr
    return _swig_setattr_nondynamic(self,class_type,name,value,0)
  File "/usr/lib/armory/CppBlockUtils.py", line 38, in _swig_setattr_nondynamic
    if method: return method(self,value)
TypeError: in method 'BlockDataManagerConfig_blkFileLocation_set', argument 2 of type 'string const &'

Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 4351, in executeModeSwitch
    TheBDM.goOnline()
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 251, in goOnline
    self.bdmThread.setConfig(self.bdmConfig())
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 339, in bdmConfig
    bdmConfig.blkFileLocation = blockdir
  File "/usr/lib/armory/CppBlockUtils.py", line 2101, in <lambda>
    __setattr__ = lambda self, name, value: _swig_setattr(self, BlockDataManagerConfig, name, value)
  File "/usr/lib/armory/CppBlockUtils.py", line 45, in _swig_setattr
    return _swig_setattr_nondynamic(self,class_type,name,value,0)
  File "/usr/lib/armory/CppBlockUtils.py", line 38, in _swig_setattr_nondynamic
    if method: return method(self,value)
TypeError: in method 'BlockDataManagerConfig_blkFileLocation_set', argument 2 of type 'string const &'

https://img-fotki.yandex.ru/get/4302/63627607.10/0_100efc_eda360f0_orig

Linux Mint 17.1

goatpig
Moderator
Legendary
*
Offline Offline

Activity: 1316

Armory Developer


View Profile
May 28, 2015, 11:01:16 PM
 #4524

force your block file location with --satoshi-datadir

btcarmory.com
Exdeath
Hero Member
*****
Offline Offline

Activity: 546


Upiter


View Profile WWW
May 29, 2015, 09:07:06 AM
 #4525

Code:
$ armory --satoshi-datadir ~/.bitcoin
/usr/lib/armory/armoryengine/Transaction.py:2675: SyntaxWarning: import * only allowed at module level
  def PyCreateAndSignTx_old(srcTxOuts, dstAddrsVals):
(WARNING) ArmoryQt.py:2815 - ***WARNING: Duplicate wallet detected, hub1za1u
(WARNING) ArmoryQt.py:2825 - Second wallet is more useful than the first one...
(WARNING) ArmoryQt.py:2826 -      Wallet 1 (skipped): /home/exdeath/.armory/armory_hub1za1u__.wallet
(WARNING) ArmoryQt.py:2827 -      Wallet 2 (loaded):  /home/exdeath/.armory/armory_hub1za1u_WatchOnly.wallet
(WARNING) ArmoryQt.py:2451 - Tried to start bitcoind, but satoshi already running
"sni-qt/12288" WARN  15:03:51.384 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE
(ERROR) ArmoryQt.py:1323 - 7 attempts to load blockchain failed.  Remove mempool.bin.
(ERROR) ArmoryQt.py:1328 - File mempool.bin does not exist. Nothing deleted.
-INFO  - 1432890354: (BlockUtils.cpp:894) blkfile dir: /home/exdeath/.bitcoin/blocks
-INFO  - 1432890354: (BlockUtils.cpp:895) lmdb dir: /home/exdeath/.armory/databases
-INFO  - 1432890354: (lmdb_wrapper.cpp:478) Opening databases...
-INFO  - 1432890354: (BlockUtils.cpp:1226) Executing: doInitialSyncOnLoad
-INFO  - 1432890354: (BlockUtils.cpp:1297) Total number of blk*.dat files: 258
-INFO  - 1432890354: (BlockUtils.cpp:1298) Total blockchain bytes: 36,863,680,999
-INFO  - 1432890354: (BlockUtils.cpp:1671) Reading headers from db
-INFO  - 1432890356: (BlockUtils.cpp:1697) Found 358568 headers in db
-DEBUG - 1432890356: (Blockchain.cpp:211) Organizing chain w/ rebuild
-WARN  - 1432890358: (BlockUtils.cpp:1327) --- Fetching SSH summaries for 475 registered addresses
-INFO  - 1432890358: (BlockUtils.cpp:1340) Left off at file 257, offset 74199201
-INFO  - 1432890358: (BlockUtils.cpp:1343) Reading headers and building chain...
-INFO  - 1432890358: (BlockUtils.cpp:1344) Starting at block file 257 offset 74199201
-INFO  - 1432890358: (BlockUtils.cpp:1346) Block height 358512
-DEBUG - 1432890359: (Blockchain.cpp:211) Organizing chain w/ rebuild
-INFO  - 1432890362: (BlockUtils.cpp:1381) Looking for first unrecognized block
-INFO  - 1432890362: (BlockUtils.cpp:1532) Loading block data... file 0 offset 121433722

mdb_enlarge_map failed with error: "Can not allocate memory", id: 12
segmentation error
help me please (i can sent you 1 bitcoin if you help me fix this)

K1773R
Legendary
*
Offline Offline

Activity: 1526


/dev/null


View Profile
May 29, 2015, 10:00:59 AM
 #4526

Code:
$ armory --satoshi-datadir ~/.bitcoin
/usr/lib/armory/armoryengine/Transaction.py:2675: SyntaxWarning: import * only allowed at module level
  def PyCreateAndSignTx_old(srcTxOuts, dstAddrsVals):
(WARNING) ArmoryQt.py:2815 - ***WARNING: Duplicate wallet detected, hub1za1u
(WARNING) ArmoryQt.py:2825 - Second wallet is more useful than the first one...
(WARNING) ArmoryQt.py:2826 -      Wallet 1 (skipped): /home/exdeath/.armory/armory_hub1za1u__.wallet
(WARNING) ArmoryQt.py:2827 -      Wallet 2 (loaded):  /home/exdeath/.armory/armory_hub1za1u_WatchOnly.wallet
(WARNING) ArmoryQt.py:2451 - Tried to start bitcoind, but satoshi already running
"sni-qt/12288" WARN  15:03:51.384 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE
(ERROR) ArmoryQt.py:1323 - 7 attempts to load blockchain failed.  Remove mempool.bin.
(ERROR) ArmoryQt.py:1328 - File mempool.bin does not exist. Nothing deleted.
-INFO  - 1432890354: (BlockUtils.cpp:894) blkfile dir: /home/exdeath/.bitcoin/blocks
-INFO  - 1432890354: (BlockUtils.cpp:895) lmdb dir: /home/exdeath/.armory/databases
-INFO  - 1432890354: (lmdb_wrapper.cpp:478) Opening databases...
-INFO  - 1432890354: (BlockUtils.cpp:1226) Executing: doInitialSyncOnLoad
-INFO  - 1432890354: (BlockUtils.cpp:1297) Total number of blk*.dat files: 258
-INFO  - 1432890354: (BlockUtils.cpp:1298) Total blockchain bytes: 36,863,680,999
-INFO  - 1432890354: (BlockUtils.cpp:1671) Reading headers from db
-INFO  - 1432890356: (BlockUtils.cpp:1697) Found 358568 headers in db
-DEBUG - 1432890356: (Blockchain.cpp:211) Organizing chain w/ rebuild
-WARN  - 1432890358: (BlockUtils.cpp:1327) --- Fetching SSH summaries for 475 registered addresses
-INFO  - 1432890358: (BlockUtils.cpp:1340) Left off at file 257, offset 74199201
-INFO  - 1432890358: (BlockUtils.cpp:1343) Reading headers and building chain...
-INFO  - 1432890358: (BlockUtils.cpp:1344) Starting at block file 257 offset 74199201
-INFO  - 1432890358: (BlockUtils.cpp:1346) Block height 358512
-DEBUG - 1432890359: (Blockchain.cpp:211) Organizing chain w/ rebuild
-INFO  - 1432890362: (BlockUtils.cpp:1381) Looking for first unrecognized block
-INFO  - 1432890362: (BlockUtils.cpp:1532) Loading block data... file 0 offset 121433722

mdb_enlarge_map failed with error: "Can not allocate memory", id: 12
segmentation error
help me please (i can sent you 1 bitcoin if you help me fix this)

You dont have enough free/usable RAM; add more RAM, close apps, etc.

[GPG Public Key]  [Devcoin Builds]  [BBQCoin Builds]  [Multichain Blockexplorer]  [Multichain Blockexplorer - PoS Coins]  [Ufasoft Miner Linux Builds]
BTC/DVC/TRC/FRC: 1K1773RbXRZVRQSSXe9N6N2MUFERvrdu6y ANC/XPM AK1773RTmRKtvbKBCrUu95UQg5iegrqyeA NMC: NK1773Rzv8b4ugmCgX789PbjewA9fL9Dy1 LTC: LKi773RBuPepQH8E6Zb1ponoCvgbU7hHmd EMC: EK1773RxUes1HX1YAGMZ1xVYBBRUCqfDoF BQC: bK1773R1APJz4yTgRkmdKQhjhiMyQpJgfN
Exdeath
Hero Member
*****
Offline Offline

Activity: 546


Upiter


View Profile WWW
May 29, 2015, 10:18:07 AM
 #4527

The RAM was free (I have 10 Gb)

goatpig
Moderator
Legendary
*
Offline Offline

Activity: 1316

Armory Developer


View Profile
May 29, 2015, 12:22:03 PM
 #4528

Are you using a 32bit OS? How much free disk space do you have?

btcarmory.com
Exdeath
Hero Member
*****
Offline Offline

Activity: 546


Upiter


View Profile WWW
May 29, 2015, 12:36:00 PM
 #4529

Yes 32 bit. I have 140 Gb (61.3 / 206 Gb)

goatpig
Moderator
Legendary
*
Offline Offline

Activity: 1316

Armory Developer


View Profile
May 29, 2015, 12:41:27 PM
 #4530

Yes 32 bit. I have 140 Gb (61.3 / 206 Gb)

0.93.x does not work on x86 OS. Wait for 0.94

btcarmory.com
cypherdoc
Legendary
*
Offline Offline

Activity: 1764



View Profile
May 29, 2015, 10:31:19 PM
 #4531

i saw this in the Bitcoin wiki for deterministic wallets:

"Armory deterministic wallet
Armory has its own Type-2 deterministic wallet format based on a "root key" and a "chain code." Earlier versions of Armory required backing up both the "root key" and "chaincode," while newer versions start deriving the chaincode from the private key in a non-reversible way. These newer Armory wallets (0.89+) only require the single, 256-bit root key. This older format is intended to be phased out in favor of the standard BIP0032 format. "

is this going to be a problem for those who keep and maintain old style wallets with both the chain code and root key?
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 1316

Armory Developer


View Profile
May 29, 2015, 11:14:34 PM
 #4532

i saw this in the Bitcoin wiki for deterministic wallets:

"Armory deterministic wallet
Armory has its own Type-2 deterministic wallet format based on a "root key" and a "chain code." Earlier versions of Armory required backing up both the "root key" and "chaincode," while newer versions start deriving the chaincode from the private key in a non-reversible way. These newer Armory wallets (0.89+) only require the single, 256-bit root key. This older format is intended to be phased out in favor of the standard BIP0032 format. "

is this going to be a problem for those who keep and maintain old style wallets with both the chain code and root key?

The new wallet format supporting BIP32 will be backwards compatible with every previous Armory wallet format.

btcarmory.com
justusranvier
Legendary
*
Offline Offline

Activity: 1400



View Profile WWW
May 29, 2015, 11:18:02 PM
 #4533

The new wallet format supporting BIP32 will be backwards compatible with every previous Armory wallet format.
When you say "BIP32", do you mean BIP44?
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 1316

Armory Developer


View Profile
May 29, 2015, 11:22:40 PM
 #4534

The new wallet format supporting BIP32 will be backwards compatible with every previous Armory wallet format.
When you say "BIP32", do you mean BIP44?

I guess that's the proper name for the BIP specified HD wallets. Confusing me >_<"

btcarmory.com
justusranvier
Legendary
*
Offline Offline

Activity: 1400



View Profile WWW
May 30, 2015, 01:18:13 AM
 #4535

BIP44 is the standard for multiple account wallets derived from a single seed.
doug_armory
Sr. Member
****
Offline Offline

Activity: 255

Senior Developer - Armory


View Profile WWW
May 30, 2015, 06:08:07 PM
 #4536

i saw this in the Bitcoin wiki for deterministic wallets:

"Armory deterministic wallet
Armory has its own Type-2 deterministic wallet format based on a "root key" and a "chain code." Earlier versions of Armory required backing up both the "root key" and "chaincode," while newer versions start deriving the chaincode from the private key in a non-reversible way. These newer Armory wallets (0.89+) only require the single, 256-bit root key. This older format is intended to be phased out in favor of the standard BIP0032 format. "

is this going to be a problem for those who keep and maintain old style wallets with both the chain code and root key?

No. I don't know the exact technical details but older wallets will be safe moving forward. Smiley I think new wallets will be required to use the new 2.0 format - I could easily be wrong, though - but people with older wallets need not worry; their coins will be safe.

That being said, as always, make backups once wallet 2.0 support is included. Wink

Senior Developer -  Armory Technologies, Inc.
cypherdoc
Legendary
*
Offline Offline

Activity: 1764



View Profile
May 31, 2015, 05:22:25 PM
 #4537

BIP44 is the standard for multiple account wallets derived from a single seed.

diff btwn 32 & 44?
yslyung
Legendary
*
Offline Offline

Activity: 1050


Mine Mine Mine


View Profile
May 31, 2015, 05:55:51 PM
 #4538

hi guys may i know what is the difference between :

TxOut Script Type:  Standard (P2SH)

&

TxOut Script Type:  Standard (PKH)


i made a payout from my wallet to 2 different btc add but 1 of the Tx Script Type is P2SH & the other is PKH

tia
justusranvier
Legendary
*
Offline Offline

Activity: 1400



View Profile WWW
May 31, 2015, 08:48:19 PM
 #4539

diff btwn 32 & 44?
BIP32 is a standard for deriving key pairs from seeds.

BIP44 is an application of BIP32 for creating a standard HD wallet structure.
doug_armory
Sr. Member
****
Offline Offline

Activity: 255

Senior Developer - Armory


View Profile WWW
May 31, 2015, 08:56:37 PM
 #4540

hi guys may i know what is the difference between :

TxOut Script Type:  Standard (P2SH)

&

TxOut Script Type:  Standard (PKH)


i made a payout from my wallet to 2 different btc add but 1 of the Tx Script Type is P2SH & the other is PKH

tia

It's a "nuts & bolts" difference that a vast majority of Bitcoin users need not care about. Armory handles all that behind the scenes unless a user must, for whatever reasons, send coins using P2SH or PKH. If you're still curious, look up scripts and the five "standard" script types.

Senior Developer -  Armory Technologies, Inc.
Pages: « 1 ... 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 [227] 228 229 230 231 232 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!