add a doc on environment variables that can be used to tweak lotus
This commit is contained in:
parent
d8a669c85a
commit
2010bf55b7
@ -67,6 +67,12 @@
|
|||||||
"slug": "en+setup-troubleshooting",
|
"slug": "en+setup-troubleshooting",
|
||||||
"github": "en/setup-troubleshooting.md",
|
"github": "en/setup-troubleshooting.md",
|
||||||
"value": null
|
"value": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Environment Variables",
|
||||||
|
"slug": "en+env-vars",
|
||||||
|
"github": "en/environment-vars.md",
|
||||||
|
"value": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
60
documentation/en/environment-vars.md
Normal file
60
documentation/en/environment-vars.md
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
# Lotus Environment Variables
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
## Common
|
||||||
|
|
||||||
|
The environment variables are common across most lotus binaries.
|
||||||
|
|
||||||
|
### `LOTUS_FD_MAX`
|
||||||
|
|
||||||
|
Sets the file descriptor limit for the process. This should be set high (8192
|
||||||
|
or higher) if you ever notice 'too many open file descriptor' errors.
|
||||||
|
|
||||||
|
### `LOTUS_JAEGER`
|
||||||
|
|
||||||
|
This can be set to enable jaeger trace reporting. The value should be the url
|
||||||
|
of the jaeger trace collector, the default for most jaeger setups should be
|
||||||
|
`localhost:6831`.
|
||||||
|
|
||||||
|
### `LOTUS_DEV`
|
||||||
|
|
||||||
|
If set to a non-empty value, certain parts of the application will print more
|
||||||
|
verbose information to aid in development of the software. Not recommended for
|
||||||
|
end users.
|
||||||
|
|
||||||
|
## Lotus Daemon
|
||||||
|
|
||||||
|
### `LOTUS_PATH`
|
||||||
|
|
||||||
|
Sets the location for the lotus daemon on-disk repo. If left empty, this defaults to `~/.lotus`.
|
||||||
|
|
||||||
|
### `LOTUS_SKIP_GENESIS_CHECK`
|
||||||
|
|
||||||
|
Can be set to `_yes_` if you wish to run a lotus network with a different
|
||||||
|
genesis than the default one built into your lotus binary.
|
||||||
|
|
||||||
|
### `LOTUS_CHAIN_TIPSET_CACHE`
|
||||||
|
|
||||||
|
Sets the cache size for the chainstore tipset cache. The default value is 8192,
|
||||||
|
but if your usage of the lotus API involves frequent arbitrary tipset lookups,
|
||||||
|
you may want to increase this.
|
||||||
|
|
||||||
|
### `LOTUS_CHAIN_INDEX_CACHE`
|
||||||
|
|
||||||
|
Sets the cache size for the chainstore epoch index cache. The default value is 32768,
|
||||||
|
but if your usage of the lotus API involves frequent deep chain lookups for
|
||||||
|
block heights that are very far from the current chain height, you may want to
|
||||||
|
increase this.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Lotus Miner
|
||||||
|
|
||||||
|
A number of environment variables are respected for configuring the behavior of the filecoin proving subsystem. For more details on those [see here](https://github.com/filecoin-project/rust-fil-proofs/#settings).
|
||||||
|
|
||||||
|
### `LOTUS_MINER_PATH`
|
||||||
|
|
||||||
|
Sets the location for the lotus miners on-disk repo. If left empty, this defaults to `~/.lotusminer`.
|
||||||
|
|
||||||
|
|
@ -28,14 +28,19 @@ const minFds = 2048
|
|||||||
// default max file descriptor limit.
|
// default max file descriptor limit.
|
||||||
const maxFds = 16 << 10
|
const maxFds = 16 << 10
|
||||||
|
|
||||||
// userMaxFDs returns the value of IPFS_FD_MAX
|
// userMaxFDs returns the value of LOTUS_FD_MAX
|
||||||
func userMaxFDs() uint64 {
|
func userMaxFDs() uint64 {
|
||||||
// check if the IPFS_FD_MAX is set up and if it does
|
// check if the LOTUS_FD_MAX is set up and if it does
|
||||||
// not have a valid fds number notify the user
|
// not have a valid fds number notify the user
|
||||||
if val := os.Getenv("IPFS_FD_MAX"); val != "" {
|
val := os.Getenv("LOTUS_FD_MAX")
|
||||||
|
if val == "" {
|
||||||
|
val = os.Getenv("IPFS_FD_MAX")
|
||||||
|
}
|
||||||
|
|
||||||
|
if val != "" {
|
||||||
fds, err := strconv.ParseUint(val, 10, 64)
|
fds, err := strconv.ParseUint(val, 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("bad value for IPFS_FD_MAX: %s", err)
|
log.Errorf("bad value for LOTUS_FD_MAX: %s", err)
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
return fds
|
return fds
|
||||||
@ -44,7 +49,7 @@ func userMaxFDs() uint64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ManageFdLimit raise the current max file descriptor count
|
// ManageFdLimit raise the current max file descriptor count
|
||||||
// of the process based on the IPFS_FD_MAX value
|
// of the process based on the LOTUS_FD_MAX value
|
||||||
func ManageFdLimit() (changed bool, newLimit uint64, err error) {
|
func ManageFdLimit() (changed bool, newLimit uint64, err error) {
|
||||||
if !supportsFDManagement {
|
if !supportsFDManagement {
|
||||||
return false, 0, nil
|
return false, 0, nil
|
||||||
@ -93,7 +98,7 @@ func ManageFdLimit() (changed bool, newLimit uint64, err error) {
|
|||||||
|
|
||||||
if newLimit < userLimit {
|
if newLimit < userLimit {
|
||||||
err = fmt.Errorf(
|
err = fmt.Errorf(
|
||||||
"failed to raise ulimit to IPFS_FD_MAX (%d): set to %d",
|
"failed to raise ulimit to LOTUS_FD_MAX (%d): set to %d",
|
||||||
userLimit,
|
userLimit,
|
||||||
newLimit,
|
newLimit,
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user