Where Is My RAM Being Consumed on EOS?

May 16, 2019 1:39:14 PM / by dfuse

You have probably already asked yourself “Where and how is my RAM being consumed on EOS?” No tool has been able to provide a single snapshot of where an account’s RAM is currently locked up. Finally there is a solution -- a RAM Usage Tracker, an app built and powered by dfuse and available within dfuse Labs.

Prior Tools

Blockchains contain a wealth of information. With such an information overload, it can be hard to pick out the specific details we seek, and that was certainly the case regarding RAM usage. But that changed with the introduction of dfuse Search.

Using dfuse Search, a user can easily list every transaction in which their RAM was either consumed or released with action-level granularity. To view this for your account, change eoscanadacom in the following query to your account name:

(ram.released:eoscanadacom OR ram.consumed:eoscanadacom)

While this kind of granularity is unique to dfuse, it still doesn’t provide an easy answer to the above question of where an account’s RAM is *currently* being consumed.

Due to the persistent nature of RAM, an action from months ago can consume and lock up RAM until it is eventually freed. But without a snapshot of all of the contracts currently holding information on behalf of your account, how is a user expected to wade through the chain’s data?

EOS Account’s RAM Analysis

We’re happy to announce the launch of our RAM Usage analyzer to solve this problem. Simply go to dfuse Labs and open the RAM Usage Tracker tool. Enter the name of the EOS account that you’d like to explore, and a transaction interval. These intervals allow you to view the changes in your RAM storage over the history of the chain. You will see a notice once you reach the most current blocks, which represents your *current* RAM usage.

What Am I Looking At?

The display begins at the beginning of the chain and advances forward through time. Each bubble shown represents a contract that is holding your RAM. The number within the bubble is the number of bytes consumed at that point in time.

RAM Usage Analyzer

Once you’ve reached the head block, you will be looking at a snapshot of exactly where your RAM is currently being consumed.

How Do I Free My RAM?

Armed with the knowledge of where your RAM is being used, you can now click through each bubble to view which actions you have performed specifically within that contract. To release RAM from each contract requires a unique action, so you’ll have to explore each contract to locate the proper method. Generally though, you’ll be looking for an action called close.

With the help of dfuse and its powerful filtering and search functions, our goal is to empower developers to create useful tools like this to enhance the EOS user experience. What used to require an expensive and custom backend infrastructure, along with an advanced skillset to manage it, is now handled completely by dfuse. This increases a developer’s productivity, while decreasing the size of the team needed to produce the same product.

Please join us on Telegram or on Twitter and let us know what other tools you’d like to see so that we can help every user have a clear picture into all things EOS.

topics EOSIO, RAM, dfuse API, developer, Use case, dfuse Labs