ESP32 Arduino libraries emulate EEPROM using a sector (4 kilobytes) of flash memory. The total flash memory size is (for most of the mass produced modules) 4MB, although some are produced with 8 or 16 MB. The entire space is split between bootloader, application, OTA data, NVS, SPIFFS, and EEPROM. You can find the exact layout in the following partition table:
https://github.com/espressif/arduino-es ... efault.csv. Other files in the same directory provide alternative partition tables. You can read more about partition tables in ESP-IDF programming guide:
https://docs.espressif.com/projects/esp ... ables.html.
EEPROM library on the ESP32(and also on ESP8266) allows using at most 1 sector (4kB) of flash. Recently a proposal has been made to allow having larger EEPROM areas,
https://github.com/esp8266/Arduino/issu ... -443902463, but this hasn't been implemented by anyone yet.
If you need larger storage space, you might be able to achieve this using SPIFFS filesystem, or by working with flash memory directly via esp_partition APIs.