Comments (9)
do you have a partition for /tmp
of a specific size?
from stacks-core.
My /tmp
directory is a 16GB tmpfs
filesystem, which lives in RAM/swap. That's the default setup for Arch Linux, and probably other distros as well
Even if it doesn't run out of space, it's still consuming a lot of RAM unnecessarily. I have 32GB here, and old files from cargo test
can eat up half that
I know most of our devs use MacBooks, and I have no idea how OS X handles this and if it's a problem for them
from stacks-core.
FWIW, neither Debian nor Alpine use a RAM filesystem for /tmp. They use tmpfs, or nothing at all (it's just part of root).
from stacks-core.
tmpfs
is not ramdisk but uses "virtual memory", which means data can be in either RAM or swap space. See tmpfs
kernel docs here. So any distro that mounts tmpfs
on /tmp
is going to run into problems unless it is rebooted frequently
Am I the only one having an issue with this?
from stacks-core.
tmpfs is not ramdisk but uses "virtual memory", which means data can be in either RAM or swap space.
Right; you could conceivably deal with this problem by increasing your swap space. These distros' /tmp
is backed not exclusively by RAM, but by a (user-chosen) amount of disk.
Am I the only one having an issue with this?
Maybe? My /tmp
on my Linux boxen are all simply directories.
$ mount | grep 'on /tmp' | wc -l
0
The oldest file in this computer's /tmp
is from August 19, 2021.
from stacks-core.
Maybe? My /tmp on my Linux boxen are all simply directories.
You're using Debian, right? Debian by default doesn't use tmpfs
. Arch does. Not sure about other popular distros like Ubuntu, Fedora, etc.
Even if others aren't getting to the point where they are seeing actual test failures, I still think we should do something about it, because taking up extra RAM or disk space is never a good thing
Proposed Solutions
Used Fixed Names
Instead of using random file/directory names for each invocation of cargo test
, use fixed names or psuedo-random names generated from a fixed seed. If data already exists from a previous test, remove it first
Implement Drop
trait
Implement a simple wrapper around std::fs::File
and implement Drop
for it, so that the files are removed when the variable which owns them goes out of scope. Maybe not the right solution if we need to examine files after a failed test
from stacks-core.
Even if others aren't getting to the point where they are seeing actual test failures, I still think we should do something about it, because taking up extra RAM or disk space is never a good thing
We deliberately keep things on disk so we can inspect them on failed test runs, so that's probably not going to change. The value it provides for debugging is immense.
Why can't you just alter your /etc/fstab
to not mount /tmp
as tmpfs
?
from stacks-core.
We deliberately keep things on disk so we can inspect them on failed test runs, so that's probably not going to change. The value it provides for debugging is immense.
I understand this. Is it useful to keep all of the data indefinitely, of can we only keep data from the most recent cargo test
run?
from stacks-core.
from stacks-core.
Related Issues (20)
- Remove signer log when DKG doesn't succeed HOT 1
- Signer error: Could not lookup current miner while in active reward cycle HOT 2
- [stacks-signer] Public Keys Don't Match - Signer Not Registered HOT 1
- `stack-aggregation-increase` topic is not exposed in `generated-stacking-signature`
- Instantiate missing StackerDBs in the 3.0 hard fork
- bitcoins' math basement is wrong
- Nakamoto Signer[3.0] - The sign_coordinator must be updated to send a block proposal message rather than initiate a signing round HOT 1
- Nakamoto Signer[3.0] - Update Block Header to use a vec of Signatures
- Nakamoto Signer[3.0] - Update the current signer module to `signer_v1`and create a new `signer_v0` module should be created that has an analogous `Signer` struct
- Nakamoto Signer[3.0] Create new v0 and v1 modules to seperate signer code and place existing code in v1 module
- Nakamoto Signer[3.0] Create new block signature message type for v0 signer
- Nakamoto Signer[3.0] Create a new process_event path for v0 signer to handle v0 message types
- Fix typo in `nakamoto_tenures` table HOT 2
- Update Nakamoto downloader to utilize signatures vec instead of aggregate public key
- [CI] move rustfmt steps into the actions repo HOT 1
- Update unit test signer to use signatures instead of aggregate public key
- [TESTNET BUG] Error processing new burn block: NonContiguousBurnchainBlock HOT 1
- Nakamoto Signer[3.0] - Port v1 signer tests to v0 once end to end miner and signer communication is complete
- Atlas DB has the incorrect sqlite type for String
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stacks-core.